在IBM I上,如何通过QSHELL的DB2命令运行存储过程



您将如何通过qshell的db2命令运行存储过程,因为我需要一种简单的方法来单元对存储过程进行更改?

在IBM I

开始qshell

qsh

以各种格式输入这些db2命令

db2 call libraryname.stroredprocedurename('param1value' 'param2value' ?)
db2 call libraryname.stroredprocedurename ('param1value' 'param2value' ?)
db2 call libraryname.stroredprocedurename (param1value  param2value ?)

只有参考来源我才能找到

尝试使用CLP调用存储过程,但没有CLP示例这里

您还可以使用JT400.jar中包含的JDBC客户端。您可以使用以下命令从QSH运行它。

java -cp/qibm/proddata/os400/jt400/lib/jt400.jar com.ibm.as400.access.access.jdbcclient.main jdbc:db2:db2:localhost

客户端还将处理存储的过程输出参数,如下示例所示。

创建过程add1(在indparm int,out of outparm int)语言sql begin set oferparm = inparm 1;结尾 调用add1(1,?) 参数1返回2

我使用Squirrel SQL客户端http://squirrel-sql.sourceforge.net/来测试我的所有SQL。

call libraryname.stroredprocedurename('param1value', 'param2value')

请注意,分离器是COMA ,,而?则不是有效的参数标记。

除了客户端外,您还需要一个JDBC驱动程序。您可以在此处找到的IBM使用JTopen驱动程序:http://jt400.sourceforge.net/

从CL命令行或CL程序中,您可以使用RUNSQL命令执行SQL语句。

如果您要尝试多个临时SQL语句,则可以使用STRSQL命令。就我个人而言,我倾向于使用提供的SQL窗口作为部分Inavigator。

最终获得了基本语法

db2 "CALL lib.proc ('parmvalue1')" 

导致:

db20000i SQL命令成功完成。

相关内容

  • 没有找到相关文章

最新更新