DB2+C#:在尝试存储Bigint值时出现SQL0302N错误

本文关键字:SQL0302N 错误 Bigint 存储 DB2+C# | 更新日期: 2023-09-27 18:22:35

这似乎没有任何意义,但我从一个表中选择一个BIGINT数据,并将其插入到另一个表的另一个BIGINT列中(表是相同的,只驻留在不同的服务器中),然后抛出SQL0302N。当我将这个bigint列的值更改为更小的值时,异常就会消失。

该值本身为2601354496。其他类似的值也会导致异常。

有什么想法吗?

DB2+C#:在尝试存储Bigint值时出现SQL0302N错误

巧合的是,问题不在于BIGINT,而在于VARCHAR。创建数据库时使用了错误的排序规则(目标位置为UTF8,源位置为ISO8859),并且一些特殊字符的翻译不正确。

没有显示问题,但字符串存储大小各不相同。然后,很明显,根据数字的大小,与字符串无关,抛出了错误。

但事实是:问题只出在琴弦上。当通过TOAD或IBMDataStudio编辑值时,应用程序显然修复了排序规则,问题就消失了。但在我的C#应用程序中,这并没有发生。

我决定正确地重新创建数据库,而不是修复数据,一切都很好。

如果这些错误信息更清晰、更具描述性就好了。。。

感谢大家的努力。