SSIS - массовая вставка с форматным файлом и одинарными кавычками - PullRequest
0 голосов
/ 30 января 2020

Я использую SQL Server 2014.

Мне предоставляется файл CSV, который имеет 3 столбца (столбцы AddressLine ниже), которые МОГУТ содержать значения, заключенные в одинарные кавычки .... пример ...

Name, Age,  AddressLine1              ,  AddressLine3  ,    AddressLine3,  Job
Paul, 31 ,  '59, Reed Close'          ,  Ashby         ,    Essex       ,  Carpenter   
Jane, 39 ,  Bond Street               ,  Rochford      ,    Kent        ,  Nurse
Mary, 31 ,  'Tomb Lodge, Reeve  Close',  Poole         ,    Essex       ,  Football Player
Ian , 31 ,  66 Puffin Road            ,  'Maine, Kent,',    'Kent, UK'  ,  Policeman   

Я пытаюсь выполнить SQL Оператор массовой вставки сервера, используя файл формата ...

Загрузка не выполняется вокруг столбцов адреса - возможно, ошибка в моем формате файл.

<RECORD>
    <FIELD ID ="1" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="255" />
    <FIELD ID ="2" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="255" />
    <FIELD ID ="3" xsi:type="CharTerm" TERMINATOR="\',\'" MAX_LENGTH="100" />
    <FIELD ID ="4" xsi:type="CharTerm" TERMINATOR="\',\'" MAX_LENGTH="100" />
    <FIELD ID ="5" xsi:type="CharTerm" TERMINATOR="\',\'" MAX_LENGTH="50" />
    <FIELD ID ="6" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="15" />
  </RECORD>

Есть ли способ обработки необязательных одинарных кавычек в данных в файле формата или другим способом?

1 Ответ

1 голос
/ 31 января 2020

Проблема на самом деле в вашем CSV-файле с пробелами.

Если вы отформатируете CSV следующим образом:

Name,Age,AddressLine1,AddressLine2,AddressLine3,Job
Paul,31,'59, Reed Close',Ashby,Essex,Carpenter   
Jane,39,Bond Street,Rochford,    Kent        ,  Nurse
Mary, 31 ,'Tomb Lodge, Reeve  Close',  Poole         ,    Essex       ,  Football Player
Ian , 31 ,  66 Puffin Road            ,'Maine, Kent,','Kent, UK',  Policeman  

Тогда вы можете использовать классификатор текста, например так:

enter image description here

с такими результатами:

enter image description here

...