BULK INSERT SQL Server - экранирование зарезервированных символов

Существует очень мало документации по экранированию символов в файлах 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 , но не говорит, исчезают ли обратные косые черты сами по себе, и не упоминает разграничение значений полей (например, с помощью двойные кавычки или избегание двойных кавычек), так что я немного озадачен в этой области.

5
задан marc_s 14 August 2011 в 19:43
поделиться