Stored procedures 在IBMi上,如何通过QShell的DB2命令运行存储过程?

Stored procedures 在IBMi上,如何通过QShell的DB2命令运行存储过程?,stored-procedures,ibm-midrange,db2-400,Stored Procedures,Ibm Midrange,Db2 400,您如何通过QShell的DB2命令运行存储过程,因为我需要一种简单的方法来单元测试对存储过程的更改 关于ibmi 从地狱开始 QSH 以各种格式输入这些db2命令,但没有成功 db2 call libraryname.stroredprocedurename('param1value' 'param2value' ?) db2 call libraryname.stroredprocedurename ('param1value' 'param2value' ?) db2 call libr

您如何通过QShell的DB2命令运行存储过程,因为我需要一种简单的方法来单元测试对存储过程的更改

关于ibmi

从地狱开始

QSH

以各种格式输入这些db2命令,但没有成功

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

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

db2 call libraryname.stroredprocedurename (param1value  param2value ?)

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

我使用Squirrel SQL客户端来测试我的所有SQL

call libraryname.stroredprocedurename('param1value', 'param2value')
注意分隔符是逗号
在这样交互调用时不是有效的参数标记

除了客户端,您还需要一个JDBC驱动程序。您可以使用我在这里找到的用于IBM的JTOpen驱动程序:

我使用Squirrel SQL Client来测试我的所有SQL

call libraryname.stroredprocedurename('param1value', 'param2value')
注意分隔符是逗号
在这样交互调用时不是有效的参数标记


除了客户端,您还需要一个JDBC驱动程序。您可以使用我在这里找到的用于IBM的JTOpen驱动程序:

终于获得了基本语法

db2 "CALL lib.proc ('parmvalue1')" 
这导致:


DB20000I SQL命令已成功完成

终于掌握了基本语法

db2 "CALL lib.proc ('parmvalue1')" 
这导致:


DB20000I SQL命令已成功完成

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

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

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

创建过程add1(in-inparm int,out-outparm int)语言sql begin set outparm=inparm+1;终止 呼叫地址1(1,?) 参数1返回2


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

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

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

创建过程add1(in-inparm int,out-outparm int)语言sql begin set outparm=inparm+1;终止 呼叫地址1(1,?) 参数1返回2


从CL命令行或CL程序内部,可以使用
RUNSQL
命令执行SQL语句


如果要尝试多个特殊SQL语句,可以使用
STRSQL
命令。就我个人而言,我倾向于使用Vigator中提供的SQL窗口。

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

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

更好的可能是-cp/qibm/proddata/os400/jt400/lib/jt400Native.jar,或者在类路径中至少在jt400.jar上方有jt400Native.jar。更好的可能是-cp/qibm/proddata/os400/jt400/lib/jt400Native.jar,或者在类路径中至少在jt400.jar上方有jt400Native.jar。