在as400 rgp中调用Db2存储过程时出现转换错误

时间:2013-04-23 18:29:10

标签: .net db2 rpg

使用iSeries在AS400 / RPG / DB2中调用存储过程时出现转换错误。

db2 param定义为CHAR 32000,.net应用程序传递大约20000个字符,并且该调用将引发错误。

当.net应用程序传递包含双字节字符的数据时,似乎会发生此错误。如何将字符串传递给包含双字节字符的DB2存储过程?

IBM错误代码是6107.

2 个答案:

答案 0 :(得分:0)

也许您打算将其定义为VARCHAR 32000. CHAR是固定长度的,但您的.NET应用程序未发送定义的长度。

答案 1 :(得分:0)

如果您尝试将20K双字节字符传递到32K字符字段,则该字段不够长。 20K双字节字符占用40K空间。另一个问题可能是您遇到了CCSID问题。您可能想尝试使用VARGRAPHIC来保存双字节字符。