示例:表Customer
。 CustomerName
列为varchar(100)
,存储过程的大小也相同。
当我尝试通过传入harry.smith@charterglobal.com
来更新行时,会抛出此错误:
字符串或二进制数据将被截断。该语句已在System.Data.SqlClient.SqlConnection
中终止
列大小为100.传递的值小于此值,仍然会出现此错误 - 为什么?
这里传递电子邮件而不是名字。
任何帮助表示赞赏
由于
答案 0 :(得分:0)
这是一个长期存在的案例,其中SQL Server已经有十多年的可怕错误消息,微软只给出了借口。
您将不得不花时间隔离所涉及的表,字段和值,因为Microsoft无法在错误消息中提供它们。
答案 1 :(得分:0)
这里没有标准的正确答案,但是如果你运行sql server profiler,你应该能够找到令人反感的sql语句,然后你就可以搞清楚了。