Спецификатор Azure SQL Bulk Insert для текста - PullRequest
0 голосов
/ 17 сентября 2018

Это 2018 год, и кажется, что импортировать текстовые файлы в SQL не намного разумнее.У меня есть текстовый файл, похожий на этот:

    "id","name","company","contract","notes"... 
    "234","Joe","conteso","pending","notes can have line feeds
 and/or carrage returns"
    "313","Ann","conteso",,"notes can have a , comma"
    "213","Ken",,,""

Я создал файл XML XML.Со строками, похожими на

  <FIELD ID="2" xsi:type="CharTerm" TERMINATOR='","' COLLATION="SQL_Latin1_General_CP1_CI_AS"/>

Но, как вы можете видеть, я не могу использовать "," в качестве разделителя, поскольку "необязательны, если ноль. Кроме того, я не могу использовать только запятую, так как поле примечанийможет напортачить (после заметок есть столбцы)

ЛЮБАЯ идея, как разобрать это? .. Я загружаю из хранилища BLOB-объектов в Azure SQL.

-Ken

1 Ответ

0 голосов
/ 18 сентября 2018

Короче говоря, нет способа сделать это с массовой вставкой. Единственный способ решить эту проблему - это изменить PowerShell, который создал исходный текст, чтобы использовать разделитель табуляции и записал хранимую строку, чтобы удалить начальные и конечные двойные кавычки из любых значений столбцов, в которых они были ... просто глупо ... но нужно пройти мимо него ..

* 1003 Кен *

...