首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

讨厌的微软异常提示“将截断字符串或二进制数据”

2012-09-19 
讨厌的微软错误提示“将截断字符串或二进制数据”在insert或update数据时,常碰到这种提示:消息 8152,级别 16

讨厌的微软错误提示“将截断字符串或二进制数据”
在insert或update数据时,常碰到这种提示:
消息 8152,级别 16,状态 2,第 3 行
将截断字符串或二进制数据。
语句已终止。

也不指明是哪列,也不说明是哪个值,查找起来相当麻烦。
微软的工程师这么弱智吗?这么多年了也不知道改进一下。

[解决办法]
同愤慨
能高速导入,是无法区分哪行、哪列不符合
但是,在失败后,应该允许用户按低速方式尝试导入,这样就是一个循环,很容易定位哪行、哪列不符合

[解决办法]
不知道微软为什么不提供更友好的错误提示,难道有其他方面的考虑?
没办法,只有在遇到这种问题之前,认真考虑字段或变量的最大长度
[解决办法]
如果 字段多 ,的确是个头疼的问题,绝对是训练 眼里的活。

要从根本解决 其实还是 在设计阶段多分析需求 定义好字段类型和字段长度。
[解决办法]
对于这些问题:
1、一般出现在create table 的定义里面。
2、尽量对这些字段每一个占一行这样放置
3、使用二分法查找问题的根源。即先注释后半部分,修改语句后执行,如果不抱错,证明问题在后半部分。对后半部分的前半部分同样注释,改写查询再执行,如此下去,很快就知道大概是哪个字段了。一般都是varchar/char/nvarchar/nchar/ntext/text这些字段影响的。
[解决办法]
确实够弱智的,呵呵。。。
[解决办法]
断就断了,继续嘛,干嘛直接死掉呢
[解决办法]
这个提示有的时候确实不太好找。
我现在用的SQL SERVER 2012,类似情况经常需要调试。

明显是长度不够,但是不知道是哪个字段,还是哪个变量?

热点排行