"строка или двоичные данные будут усечены" при удалении строки

Я использую Microsoft SQL Server Management Studio Express для подключения к нашему SQL Server 2005 (думаю, его 2005, его версия 9.000 что-то). У меня есть таблица с одним столбцом, которая сохраняет много текста. Я установил тип столбца в текст. Когда у меня есть строка с большим количеством текста в этом столбце, я не могу ее удалить. Я получаю сообщение "строка или двоичные данные будут усечены", когда я попытаюсь удалить его. Если я попытаюсь отредактировать строку, я получаю одно и то же сообщение. Что я делаю?

Значительный: я исправляю его по таблице drop и создаю его снова, но я хочу решение!

Ответы

Ответ 1

Обычно такая ошибка возникает, когда вы вставляете длинное значение в столбец, который не может его сохранить. Проверьте, нет ли у вас каких-либо триггеров или какой-либо связанной логики, которые могли бы сделать это от вашего имени, когда вы удаляете строку (например, для целей ведения журнала/аудита)

Ответ 2

Хотя я опаздываю на вечеринку, когда я просматриваю оригинальное описание проблемы с постом, похоже, что они пытаются удалить строку из интерфейса редактора таблиц. Я столкнулся с этой же проблемой с таблицей, содержащей столбец "text" с длинным текстом, и, похоже, проблема может быть связана с ограничением в самом редакторе. Из моего собственного исследования кажется, что вы не сможете редактировать строку, в которой текстовый столбец превышает 4000 символов. Я тестировал SSMS 2008 R2.

Надеюсь, это поможет любому, кто встретит эту ошибку.

Ответ 3

У меня была такая же проблема и решена... после выбора верхней 200 строк таблицы щелкните "Панель" Показать критерии "(в левой части панели инструментов) теперь снимите столбец ntext (столбец с большим текстом, о котором вы говорили) теперь вы можете удалить или обновить любую строку:)

Ответ 4

Я изменил свой тип данных на nvarchar (MAX) и смог отредактировать и удалить, поскольку я счел нужным.