【问题标题】:SSIS Flat File - CSV formatting not working for multi-line filedsSSIS 平面文件 - CSV 格式不适用于多行字段
【发布时间】:2017-08-15 07:06:12
【问题描述】:

我想导入 *.csv 文件。有列名的标题行和下面的数据行。问题出在description列。该列有多行文本,每一行都被识别为记录。

文档有{CR}{LF} 表示行尾,{LF} 表示多行文本中的行尾。像这样:

(0)"Name","Description" {CR}{LF}
(1)"John","adsaddsadas" {CR}{LF}
(2)"Mike","dasdsadsdsda
dsadadsdasdsa {LF}
dsadadsadsad {LF}
dasdsadsadsd"{CR}{LF}
(3)"Dave","dsada"{CR}{LF}

它返回一个错误,指出第 (2) 行被截断并且缺少数据

我已选择 {CR}{LF} 作为分隔符,但它仍将其识别为 6 条记录而不是 3 条,我想它出于某种原因将 {LF} 识别为行分隔符。

这里有没有人遇到过类似的问题,或者知道如何解决这个问题。

另外我想提一下,我在这方面没有太多经验,所以我不知道是否有数据丢失。

【问题讨论】:

    标签: sql-server csv ssis etl


    【解决方案1】:

    在您的平面文件连接管理器中,确保将 Header Row Delimiter 设置为 {CR}{LF}

    而且Row Delimiter 也设置为{CR}{LF}

    并检查Description 列的长度是否为4000 (以防止文本被截断) 并且最后一列分隔符是{CR}{LF}

    【讨论】:

    • 谢谢!现在可以了。只是提到可能面临同样问题的人,对我来说关键是将列长度设置为 4000。我尝试了文件版本和分隔符的所有可能组合,没有考虑这一点
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多