使用IBM DB2例程简化迁移的步骤
2008-09-03 16:27:48 来源:WEB开发网下一个例子测试演示了远程连接上的函数的执行。
在该场景中,DB2数据库与上面一样驻留在同一 AIX 机器上。
到AIX上数据库的连接是由一个Windows 2000客户机建立的;
该客户机的名字为mycomputer。
/*ThedatabasesamplaixisanaliasfortheSAMPLEdatabaseonAIX*/
connecttosamplaix
DatabaseConnectionInformation
Databaseserver=DB2/60008.1.2
SQLauthorizationID=DB2INST1
Localdatabasealias=SAMPLAIX
/*executethehost_nameUDFagainsttheremotedatabase钬?
itreturnsthenameofthecomputeroftheclientconnection*/
valueshost_name()
1
------------------------------------------------
mycomputer
通过触发器或用户定义函数调用存储过程的UDF
当迁移到DB2时,碰到的另一个普遍问题就是其他RDBMS可以通过触发器或函数调用存储过程。虽然DB2已经承诺在未来版本中包含该功能,但是我们将展示如何使用DB2的当前版本来实现该功能,即通过创建一个将对存储过程发出调用的UDF来实现。
清单5.中展示了用于该目的的用户定义函数CALL_PROCEDURE的签名。
清单5.用户定义函数CALL_PROCEDURE的签名
>>--CALL_PROCEDURE--(--procedure_name--,--parameter_list--,----->
>-----database_name--,--user_name--,--password--)-------------><
VARchar(257)类型的参数procedure_name指定要被调用的存储过程的全限定名—— 在传递多个参数时,要用逗号进行分隔。该字符串将被粘贴到用于调用过程的CALL语句中,因此其语法需要符合SQL CALL语句的要求。VARchar(8)类型的参数database_name指定要执行该存储过程的数据库的别名。存储过程不一定要驻留在同一数据库中。VARchar(128) 类型的参数user_name和VARchar(200)类型的参数password用于确定连接数据库以及执行该过程时所使用的注册信息。
更多精彩
赞助商链接