远程查询和存储过程适配器启用了 DB2 Everyplace 数据库引擎的某些独特功能。下面几节详细说明在 DB2 Everyplace 应用程序中使用远程查询和存储过程适配器的要求和技巧。
发送参数
DB2 Everyplace 支持通过 CLI 接口在远程 DB2 服务器上调用存储过程。客户机应用程序使用 CALL 语句来运行远程存储过程。CALL 语句命名要调用的过程并指定其参数。支持下列类型:INTEGER、SMALLINT、DECIMAL、CHAR、VARCHAR、DATE、TIME、TIMESTAMP 和 BLOB。
使用结果集
对于从存储过程中检索数据,结果集是一种非常有用的方法。如果客户机应用程序运行的存储过程生成了结果集, 它就可以使用常规 CLI 函数(如 SQLFetch() 和 SQLGetData())来检索数据。DB2 Everyplace 不支持多个结果集。
当前限制
DB2 Everyplace 不支持多个本地数据库连接。DB2 Everyplace 支持与本地数据库有一个连接,也支持与远程数据库有一个连接, 但带有某些限制。应用程序必须先连接至本地数据库(如果需要本地连接的话), 然后才连接至远程数据库(如果需要远程连接的话)。分配的连接句柄应一起释放。
用户应当只为远程连接分配一个语句句柄。
如果在本地或远程连接上将 DB2 Everyplace 应用程序的 AUTOCOMMIT 特性设置为“off”,该应用程序就一定不能调用返回结果集的远程存储过程。这是因为在这样的远程存储过程调用期间将创建临时表,而后续数据定义语句将在事务期间触发错误。
受支持的平台
远程查询和存储过程适配器支持 Win32 和 Palm OS 客户机平台。远程查询和存储过程适配器要求向 DB2 注册存储过程。
编程技巧