使用iSeries在AS400 / RPG / DB2中调用存储过程时出现转换错误。
db2 param定义为CHAR 32000,.net应用程序传递大约20000个字符,并且该调用将引发错误。
当.net应用程序传递包含双字节字符的数据时,似乎会发生此错误。如何将字符串传递给包含双字节字符的DB2存储过程?
IBM错误代码是6107.
答案 0 :(得分:0)
也许您打算将其定义为VARCHAR 32000. CHAR是固定长度的,但您的.NET应用程序未发送定义的长度。
答案 1 :(得分:0)
如果您尝试将20K双字节字符传递到32K字符字段,则该字段不够长。 20K双字节字符占用40K空间。另一个问题可能是您遇到了CCSID问题。您可能想尝试使用VARGRAPHIC来保存双字节字符。