【问题标题】:CSV Column header containing comma - SSIS包含逗号的 CSV 列标题 - SSIS
【发布时间】:2023-03-29 08:28:01
【问题描述】:

我正在尝试使用 SSIS 将 csv 中的数据加载到 Sql 数据表中。其中一个列标题包含逗号(,)。例如。 “ABC 100,价格 +10%”。我知道使用 " 作为文本限定符来处理数据值中的逗号的解决方案。但是谁能帮我解决这个问题?

【问题讨论】:

  • 您需要什么帮助?将 " 放在“格式”部分下的“文本限定符”框中应正确格式化列。
  • 标题字段中逗号的解决方案与数据值相同...用引号将它们包裹起来。
  • 虽然 " 可以用作文本限定符,但是在 Header 行分隔符中应该使用什么?使用 Comma(,) 没有帮助
  • {CR}{LF} 最有可能
  • 在记事本中打开文件,然后将列标题复制/粘贴到上面的问题中,以便我们查看。

标签: sql-server csv ssis


【解决方案1】:

查看逗号的十六进制值,可能看起来像逗号的东西确实可能与它相似。查找十六进制值并将其与逗号的十六进制值进行比较,这应该是不同的。

标题没有单独的支持,它们与行值相同。在文本板中打开您的 CSV,看看它是否用逗号包裹。

【讨论】:

    【解决方案2】:

    从您收到的错误的外观来看,您的电子表格中似乎有超过 1 列没有名称,或者正在从电子表格的末尾提取列。

    -打开您的平面文件连接管理器并单击“列”。
    -单击“重置列”
    - 滚动浏览列,看看是否有没有名称的列。
    - 如果有列没有名称并且没有任何数据,因为它们被添加到原始列的末尾,请转到“高级”,找到这些列,然后将其删除。
    - 如果有没有名称但有数据的列,请转到“高级”,找到该列,然后为其添加名称。

    在重命名和/或删除列后,可能需要重新添加“平面文件源”数据流任务以重新连接到平面文件连接。

    【讨论】:

    • @Ishan 很高兴我能帮上忙!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 2011-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多