簡體   English   中英

SSIS - 帶格式文件和單引號的批量插入

[英]SSIS - Bulk Insert with Format File and Single Quotes

我正在使用 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 Server 批量插入語句...

地址列周圍的加載失敗 - 可能是我的格式文件中的錯誤。

 <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>

有沒有辦法以格式文件或其他方式處理數據中的可選單引號?

問題實際上是您的 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  

然后你可以像這樣使用文本限定符:

在此處輸入圖片說明

結果如下:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM