Я использую команду объемной вставки для SQL Server, но по какой-то причине первая строка не вставлена. Почему я не могу вставить данные из первой строки? Является ли объемная вставка ожиданием заголовков по умолчанию и как я могу обойти это? Если я добавлю фиктивную строку и установил WITH
в FIRSTROW = 2
, тогда первая строка вставлена без проблем, но я не думаю, что это приятное решение.Вложенная команда SQL не может вставить первую строку
Код ошибки:
Msg 4864, уровень 16, состояние 1, строка 1
Массовая загрузка Ошибка преобразования данных (несоответствие типов или недопустимый символ для указанной кодовой страницы) для строки 1, столбец 1 (table_id).
Команда:
BULK INSERT TableData
FROM 'C:\Users\Oscar\file.csv'
WITH (FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n',
KEEPNULLS,
KEEPIDENTITY)
Образец данных:
1;Text 1;1;0;;
2;Text 2;1;0;;
3;Text 3;1;0;;
4;Text 4;1;0;;
5;Text 5;1;0;;
Вы пытались использовать «ROWTERMINATOR» of \ r \ n? Возможно, когда вы открываете файл в любом редакторе, который используете, а затем сохраняете его, он автоматически преобразует его из одного ограничителя строк в другой и фиксирует эту проблему, в то время как заголовок не имеет к этому никакого отношения. Просто догадка, но то, что я видел раньше. –
@TomH У меня была такая же проблема. Я нахожу использование чего-то вроде Notepad ++ и показывая, что все символы делают импорт таким же простым, как вы можете видеть вкладки, возврат каретки, переводы строк и т. Д. – UnhandledExcepSean
@TomH '\ r \ n' не работает, это была ошибка кодирования. Изменен из UTF-8-BOM в ANSI и \ n. – Ogglas