0

SSIS 批量导入数据转换行/列分隔符定义。尝试从 csv 文件导入到 sql 表。完成导入数据/值后如下

Col1 col2 col3  
"XXX" "BBN" "BBB"  
"XXX" "BBN" "BBB"  
"XXX" "BBN" "BBB"

数据/值用双引号括起来。我怎样才能解决这个问题。

csv 文件的连接管理器有文本限定符:" ,标题行分隔符有 {CR}{LR} 不幸的是批量导入没有文本限定符

4

1 回答 1

0

这是一种设置 XML 格式文件以处理带双引号的 CSV 的方法:

<?xml version="1.0"?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <RECORD>
  <FIELD ID="0" xsi:type="CharFixed" LENGTH="1"/>
  <FIELD ID="1" xsi:type="CharTerm" TERMINATOR="&quot;,&quot;" MAX_LENGTH="12"/>
  <FIELD ID="2" xsi:type="CharTerm" TERMINATOR="&quot;,&quot;" MAX_LENGTH="38"/>
  <FIELD ID="3" xsi:type="CharTerm" TERMINATOR="&quot;,&quot;" MAX_LENGTH="50" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
  <FIELD ID="4" xsi:type="CharTerm" TERMINATOR="&quot;,&quot;" MAX_LENGTH="11" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
 </RECORD>
 <ROW>
  <COLUMN SOURCE="1" NAME="SequenceID" xsi:type="SQLINT"/>
  <COLUMN SOURCE="2" NAME="TransactionID" xsi:type="SQLUNIQUEID"/>
  <COLUMN SOURCE="3" NAME="Product_Name" xsi:type="SQLVARYCHAR"/>
  <COLUMN SOURCE="4" NAME="Product_Code" xsi:type="SQLVARYCHAR"/>
 </ROW>
</BCPFORMAT>

如果您想处理管道分隔,请更改"&quot;,&quot;""&quot;|&quot;"

于 2015-11-17T20:15:39.833 回答