首页 MsSql .net – SQL0469 IN,OUT或INOUT对过程中的参数2无效

.net – SQL0469 IN,OUT或INOUT对过程中的参数2无效

我正在尝试针对运行AS400的IBM iSeries运行存储过程,并在我的标题中出现上述错误. 当我键入以下内容以从System iNavigator工具执行存储过程时,它运行正常: CALL QS36F.HH189P(1,1,) 第一个参数方向在存储过程中定义为输入,第二个输出和第三个参数作为输出.

我正在尝试针对运行AS400的IBM iSeries运行存储过程,并在我的标题中出现上述错误.

当我键入以下内容以从System iNavigator工具执行存储过程时,它运行正常:

CALL QS36F.HH189P('1','1','')

第一个参数方向在存储过程中定义为输入,第二个输出和第三个参数作为输出.

问题是当我尝试从设置参数的.Net代码运行存储过程时.有人可以帮帮我吗?

我的参数列表设置如下:

DB2Command.Parameters.Add("P_STRRRN",iDB2DbType.iDB2Char,10);
DB2Command.Parameters["P_STRRRN"].Direction = System.Data.ParameterDirection.Input;
DB2Command.Parameters["P_STRRRN"].Value = strRRN;
DB2Command.Parameters.Add("P_LSTRRN",10);
DB2Command.Parameters["P_LSTRRN"].Value = string.Empty;
DB2Command.Parameters["P_LSTRRN"].Direction = System.Data.ParameterDirection.Output;
DB2Command.Parameters.Add("P_ERRMSG",70);
DB2Command.Parameters["P_ERRMSG"].Value = string.Empty;
DB2Command.Parameters["P_ERRMSG"].Direction = System.Data.ParameterDirection.Output;

解析度

必须将commandtext声明如下:

string cmdtextstring = "CALL QS36F.HH189P" + "('" + strRRN + "',?,?)";

必须设置如下参数:

DB2Command.Parameters.Add("P_LSTRRN",70);
DB2Command.Parameters["P_ERRMSG"].Value = string.Empty;

解决方法

如果您将parms作为字符串常量传递,那么OUT或INOUT值将返回到何处? DB2期望您以一种可以将值返回到变量中的方式调用该过程.

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/shujuku/mssql/20200724/7191.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部