Существует очень мало документации по экранированию символов в файлах SQL Server BULK INSERT
.
Документация для BULK INSERT
говорит, что оператор имеет только две опции форматирования: FIELDTERMINATOR
и ROWTERMINATOR
, однако он не говорит, как вы должны экранировать эти символы, если они появляются в значение поля строки.
Например, если у меня есть эта таблица:
CREATE TABLE People ( name varchar(MAX), notes varchar(MAX) )
и эта единственная строка данных:
"Foo, \Bar", "he has a\r\nvery strange name\r\nlol"
... как бы выглядел соответствующий файл массовой вставки, потому что это не сработает для очевидных причины:
Foo,\Bar,he has a
very strange name
lol
SQL Server утверждает, что поддерживает \ r
и \ n
, но не говорит, исчезают ли обратные косые черты сами по себе, и не упоминает разграничение значений полей (например, с помощью двойные кавычки или избегание двойных кавычек), так что я немного озадачен в этой области.