0

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

db2 参数定义为 CHAR 32000,.net 应用程序传入大约 20000 个字符,调用会引发错误。

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

IBM 错误代码是 6107。

4

2 回答 2

0

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

于 2013-04-23T23:18:46.103 回答
0

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

于 2013-05-03T12:48:33.787 回答