Я пытаюсь использовать BULK INSERT
для добавления строк в существующую таблицу из CSV-файла. Теперь у меня есть небольшой файл для тестирования со следующим форматированием:BULK INSERT не правильно вставлен из CSV
UserID,Username,Firstname,Middlename,Lastname,City,Email,JobTitle,Company,Manager,StartDate,EndDate
273,abc,dd,dd,dd,dd,dd,dd,dd,dd,dd,dd
274,dfg,dd,dd,dd,dd,dd,dd,dd,dd,dd,dd
275,hij,dd,dd,dd,dd,dd,dd,dd,dd,dd,dd
И это то, что мой запрос в настоящее время выглядит следующим образом:
BULK INSERT DB_NAME.dbo.Users
FROM 'C:\data.csv'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
Когда я выполнить этот запрос возвращает 1 строка пострадавших. Я проверил запись в таблице и заметил, что данные в файле вставляются в таблицу как одна строка.
Что может быть причиной этого? То, что я пытаюсь выполнить, это вставить эти строки в отдельные строки в таблице. См (длинное) Изображение ниже
Первый столбец на самом деле столбец IDENTITY так в файл я просто определил целое, даже если она будет перезаписана автогенерируемая ID, как я не знаю, как сказать запрос для начала вставки из второго поля.
В фактической таблице создано больше столбцов, чем указано в файле, поскольку не все должно быть заполнено. Может ли это быть причиной?
Проверьте свой любимый текстовый редактор, чтобы узнать, что собой представляют все символы. Например, в Notepad ++ включить «Показать все символы». Возможно, ваши строки заканчиваются на '\ r' вместо' \ r \ n'. –
Для тестирования вы можете создать временную таблицу без поля идентификации и вынуть инструкцию WITH, чтобы узнать, какие данные вы получите? –
В зависимости от кодировки символов новые символы строки помечены по-разному. Вы пытались использовать '/ r/n'? – Fka