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

时间:2013-07-16 21:39:57

标签: c# ado.net db2 db2-luw

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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

没有显示问题,但字符串存储大小各不相同。然后,显然,根据数字的大小,独立于字符串,错误被抛出。

但事实是:问题只在于字符串。通过TOAD或IBM Data Studio编辑值时,应用程序显然修复了排序规则并且问题消失了。但是在我的C#应用​​程序中,它没有发生。

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

如果只是那些错误信息更清晰,更具描述性......

感谢大家的努力。