При попытке добавить данные во вновь созданный столбец с помощью 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