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