DB2+C#:在尝试存储Bigint值时出现SQL0302N错误
本文关键字:SQL0302N 错误 Bigint 存储 DB2+C# | 更新日期: 2023-09-27 18:22:35
这似乎没有任何意义,但我从一个表中选择一个BIGINT数据,并将其插入到另一个表的另一个BIGINT列中(表是相同的,只驻留在不同的服务器中),然后抛出SQL0302N。当我将这个bigint列的值更改为更小的值时,异常就会消失。
该值本身为2601354496。其他类似的值也会导致异常。
有什么想法吗?
巧合的是,问题不在于BIGINT,而在于VARCHAR。创建数据库时使用了错误的排序规则(目标位置为UTF8,源位置为ISO8859),并且一些特殊字符的翻译不正确。
没有显示问题,但字符串存储大小各不相同。然后,很明显,根据数字的大小,与字符串无关,抛出了错误。
但事实是:问题只出在琴弦上。当通过TOAD或IBMDataStudio编辑值时,应用程序显然修复了排序规则,问题就消失了。但在我的C#应用程序中,这并没有发生。
我决定正确地重新创建数据库,而不是修复数据,一切都很好。
如果这些错误信息更清晰、更具描述性就好了。。。
感谢大家的努力。