MsSQL   发布时间:2022-05-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了sql-server-2005 – 字符串或二进制数据将被截断 – 海森堡问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
当你收到这个错误时,首先要问的是,哪一列?不幸的是,sql Server在这里没有帮助.所以你开始做试验和错误.好吧,现在我有一个声明如下:
INSERT tbl (A,B,C,D,E,F,G)
SELECT A,B * 2,q.F,G
  FROM tbl,othertable q
 WHERE etc etc

注意

>某些值是从另一个表修改或链接的,但大多数值来自原始表,因此它们不能真正导致截断返回到同一个字段(我知道).
>一次消除一个字段最终会使错误消失,如果我累积它,但是 – 这里是踢球者 – 我消除哪个字段并不重要.这就好像sql Server反对行的总长度,我怀疑,因为总共只有大约40个字段,并没有什么大的.

以前有人见过这个吗?

谢谢.

更新:我还通过过滤掉SELECT来完成“水平”测试,结果大致相同.换句话说,如果我说

> WHERE id在1和100之间:错误
> WHERE id在1和50之间:没有错误
> WHERE id在50和100之间:没有错误

我尝试了很多种组合,它不能局限于一行.

解决方法@H_450_23@
然表没有键,约束,索引或触发器,但它确实有统计信息,并且存在问题.我使用这个脚本杀死了所有表的统计数据

http://sqlqueryarchive.blogspot.com/2007/04/drop-all-statistics-2005.html

瞧,INSERT又回来了.为什么统计信息会导致此错误?我不知道,但那是另一个问题……

更新:即使删除了统计信息,此错误也会恢复.因为我确信消息本身不准确(没有截断的证据),所以我选择了this solution:

SET ANSI_WARNINGS OFF
INSERT ...
SET ANSI_WARNINGS ON

好吧,它更像是一个黑客而不是一个解决方案,但它允许我 – 并希望其他人 – 转向其他事情.

大佬总结

以上是大佬教程为你收集整理的sql-server-2005 – 字符串或二进制数据将被截断 – 海森堡问题全部内容,希望文章能够帮你解决sql-server-2005 – 字符串或二进制数据将被截断 – 海森堡问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: