【问题标题】:How to import a .csv file with double quotes in column values to SQL table如何将列值中带有双引号的 .csv 文件导入 SQL 表
【发布时间】: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


【解决方案1】:

您可能也需要转义斜线,请尝试这个并告诉我们:

(REPLACE(Col3,"\\\"",""))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-13
    相关资源
    最近更新 更多