Я пытаюсь импортировать файлы .CSV, используя BULK INSERT на SQL Server и файл формата. Я создал файл формата и установил правильные терминаторы поля для каждого значения. Файл формата был правильно проверен, и я успешно импортировал некоторые тестовые данные.
Однако у меня возникла проблема при обнаружении запятых в середине цитируемого текста, например:
"SB", "7Y4386429Y0351805", "B5503", "", "Chris", 1,10, "Paypal", "Привет, извините за задержку платежа, я скоро отправлю платеж."
(пример данных)
Я установил файл формата для правильной идентификации полей, которые заключены в кавычки и не заключены в кавычки, но последнее поле имеет запятую в середине, и это создает ошибку при импорте.
У меня для FieldTerminator установлено значение ",", и я тоже пытался полностью его исключить, но не следует ли игнорировать терминатор, а не те, которые используются в файле формата?
Я не понимаю, почему запятая может привести к завершению поля, поскольку поле окружено кавычками. Это по замыслу? Конечно, запятую следует игнорировать, так как она не соответствует ни одному из терминаторов поля в файле формата?
Какие у меня варианты здесь? Данные, о которых идет речь, поступают из Paypal, поэтому у них мало шансов изменить способ экспорта.
Есть идеи?
Если это имеет значение, я показал первую часть моего файла формата ниже (настоящий файл содержит 56 строк). Все 56 строк имеют одинаковый тип данных SQLCHAR, одинаковую длину и одинаковое конечное значение.
10.0
56
1 SQLCHAR 0 0 "\"" 0 DUMMY SQL_Latin1_General_CP1_CI_AS
2 SQLCHAR 0 100 "\",\"" 1 CH SQL_Latin1_General_CP1_CI_AS
3 SQLCHAR 0 100 "\",\"" 2 TransactionID SQL_Latin1_General_CP1_CI_AS
4 SQLCHAR 0 100 "\",\"" 3 InvoiceID SQL_Latin1_General_CP1_CI_AS
5 SQLCHAR 0 100 "\",\"" 4 PayPalReferenceID SQL_Latin1_General_CP1_CI_AS
Любая помощь будет принята с благодарностью.
Спасибо
Крис.