1

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

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

有什么想法吗?

4

1 回答 1

1

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

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

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

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

如果只有这些错误消息更清晰和更具描述性......

感谢大家的努力。

于 2013-08-02T12:57:13.657 回答