Назад | Перейти на главную страницу

При редактировании в Management Studio некоторые строки содержат ошибку «Строковые или двоичные данные будут усечены».

При попытке добавить данные во вновь созданный столбец с помощью SQL Server Management Studio (редактировать строки) я получаю следующую ошибку:

Ни одна строка не была обновлена.

Данные в строке 1 не зафиксированы.

Источник ошибки: поставщик данных .Net SqlClient.

Сообщение об ошибке: строковые или двоичные данные будут усечены.

Заявление было прекращено.

Исправьте ошибки и повторите попытку или нажмите ESC, чтобы отменить изменения.

Тип данных для столбца - nvarchar (150).


ОБНОВИТЬ:
Я вставляю только несколько символов ascii (пример: abc).

Это чужая база данных, которая попросила меня изучить ее ... Я обнаружил: a) только некоторые строки дают эту ошибку b) строки, вызывающие эту ошибку, имеют длинные строки в двух других столбцах (один - nvarchar (max) , и один - ntext).

Эта ошибка обычно возникает, когда вы превышаете длину типа данных для столбца. Вы вставляете в столбец более 150 символов?

Я испытывал это в случаях, когда на столе была смесь ntext и nvarchar(MAX) типы данных. Меняя все ntextс к nvarchar(MAX)s устраняет проблему.

Я получил эту ошибку, когда по ошибке превысил количество символов, которое могло содержать поле. В Visual Studio я по ошибке вставил поле с типом данных как nvarchar (1) и пытался сохранить в этом поле слово из 6 символов. Однажды я перешел на нварчар (50), все работало нормально. Надеюсь, это кому-то поможет.

Обычно это происходит при попытке вставить больше символов, чем указано в этом поле. перейти к Design, проверить Data Type поля для примера ваш Data Type = nvarchar(20) и ваш пробный набор 30 символов


Microsoft SQL Server 2014