我正在尝试使用这种行读取CSV文件:
“A text”;“Another text”;“带有”“引号”“”的文字
在我的Flat File连接中,我将Text限定符填充为“。 当我点击预览按钮时,线条显示正确:带有“”引号“”的文字(不应该只显示一个双引号btw?)
但是一旦我尝试执行该包,就会发生错误,指出无法找到列分隔符:
[来源du fichier plat [1313]] Erreur *:«*Lesséparateurdecolonne pour la colonne« COL3 »est introuvable。
如果我在单元格值中删除那些双引号,它可以正常工作。
有没有办法让SSIS读取那些带双引号的单元?
对于相同的数据,您可以看到2008年与2012年将如何预览数据。观察Col2要么做了,要么没有逃避双引号(带引号的文本vs带有“引号”的文本)
使用2008版本的结果是它将失败并显示以下错误消息
找不到“Col2”列的列分隔符。
在数据行1上处理文件“c:\ ssisdata \ so \ input \ so_36033443.txt”时发生错误。
使用Biml重现问题
<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<Connections>
<FlatFileConnection
FilePath="c:\ssisdata\so\input\so_36033443.txt"
FileFormat="FFF_36033443"
Name="FFSRC" />
</Connections>
<FileFormats>
<FlatFileFormat
Name="FFF_36033443"
IsUnicode="false"
HeaderRowDelimiter=";"
CodePage="1252"
TextQualifer="""
>
<Columns>
<Column Name="Col0" DataType="AnsiString" Length="10" Delimiter=";" CodePage="1252"/>
<Column Name="Col1" DataType="AnsiString" Length="20" Delimiter=";" CodePage="1252"/>
<Column Name="Col2" DataType="AnsiString" Length="20" Delimiter="CRLF" CodePage="1252"/>
</Columns>
</FlatFileFormat>
</FileFormats>
<Packages>
<Package Name="so_36033443">
<Tasks>
<Dataflow Name="DFT Demo Delimiter">
<Transformations>
<FlatFileSource
ConnectionName="FFSRC"
Name="FFSRC so_36033443" />
<DerivedColumns Name="DER Placeholder" />
</Transformations>
</Dataflow>
</Tasks>
</Package>
</Packages>
</Biml>