【发布时间】:2021-06-03 14:07:20
【问题描述】:
我正在尝试使用 SSIS 数据流任务将数据从 .csv 文件导入 SQL 表。我的 .csv 文件中的一行就像
Col1,Col2,Col3
1200,"ABC","Value is \"greater\" than expected"
在创建平面文件连接时,我将逗号作为分隔符并将 " 作为限定符。并创建了一个派生列 (REPLACE(Col3,"\"","")) 作为从 column3 中删除 \" 的第二步。
但当我开始运行包时,我在平面文件源本身中收到一个错误,即“未找到 col3 的列分隔符”。
有人可以指导我解决这个问题吗?
【问题讨论】:
-
你确定csv文件有
\来转义"吗?通常一个csv在一个字符串中有""来表示"字符... (听起来好像csv文件可能不符合公认的标准,并且打包的SSIS认为该字符串正在结束并且所以需要一个子序列新行或逗号。) -
如果它的引号像
\"一样转义,则它不是有效的CSV
标签: sql-server csv ssis delimiter