删除行时"字符串或二进制数据将被截断"

Coo*_*3oY 18 sql sql-server

我使用Microsoft SQL Server Management Studio Express连接到我们的SQL Server 2005(想想它的2005,它的版本9.000的东西).我有一个包含一列的表,可以保存大量文本.我已将列类型设置为文本.当我在此列中有一行包含大量文本时,我无法删除它.当我尝试删除它时,我收到消息"字符串或二进制数据将被截断".如果我尝试编辑该行,我会收到相同的消息.我该怎么办?

相当:我通过drop table修复它并再次创建它,但我想要一个解决方案!

Ted*_*ngo 25

虽然我迟到了,当我查看原始海报对问题的描述时,听起来他们正试图从表编辑器界面中删除该行.我刚刚遇到了一个包含带有长文本的"text"列的表的同一问题,看起来这个问题实际上可能与编辑器本身的限制有关.根据我自己的调查,您似乎无法编辑文本列超过4000个字符的行.我测试了SSMS 2008 R2.

希望这将有助于其他任何人遇到此错误.

  • 在这种情况下,我通过SQL查询删除了该记录,然后我添加了一个带有更正的长文本数据的新记录. (2认同)

小智 14

我遇到了同样的问题并解决了...在选择了表格的前200行后,点击"显示标准窗格"(工具栏的左侧)现在取消选中你的ntext列(包含你正在谈论的大文字的列)现在你可以删除或更新任何行:)


Tom*_*ana 5

通常,当您将长值插入无法存储它的列时,会发生这种错误。检查您是否没有任何触发器或任何相关逻辑可以在您删除行时代表您执行此操作(例如用于记录目的/审计跟踪)