"строка или двоичные данные будут усечены" при удалении строки
Я использую 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) и смог отредактировать и удалить, поскольку я счел нужным.