【问题标题】:Import csv file via SSMS where text fields contain extra quotes通过 SSMS 导入 csv 文件,其中文本字段包含额外的引号
【发布时间】:2019-10-31 03:59:05
【问题描述】:

我正在尝试通过 SSMS 导入向导导入客户 csv 文件,该文件包含 100 万行,并且在导入字段有额外引号的位置时遇到问题,例如该文件是徒手填充的,因此可以包含任何内容。

Name, Address
"John","Liverpool"
"Paul",""New York"""
"Ringo","London|,"
"George","India"""

在我继续研究 SSMS 之前,SSMS 2016 应该现在处理这个问题,还是我必须在 SSIS 中处理这个问题,检查某些东西是一件轻而易举的事?

【问题讨论】:

    标签: sql-server ssis ssis-2012 flat-file ssms-2016


    【解决方案1】:

    在 SSMS 导入/导出向导中,配置平面文件源时,您必须设置:

    • 文本限定符 = "
    • 列分隔符 = ,

    这将导入文件如下:

    Name    Address
    
    John    Liverpool
    Paul    "New York""
    Ringo   London|,
    George  India
    

    使用 SQL 完成导入后必须删除剩余的双引号,或者您必须使用 Visual Studio 手动创建 SSIS 包并添加一些转换以清理数据。

    【讨论】:

    • 谢谢哈迪,我会在上面做,但要清理 SSIS,因为我需要保留原始“”,因为此数据是由客户输入的,所以如果他们输入 Jo""hn"" 我'm not allowed to transform to John 必须在 db 中作为 Jo""hn"" 导入,太可怕了!
    猜你喜欢
    • 1970-01-01
    • 2016-09-07
    • 2020-12-28
    • 2014-12-17
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    • 2017-06-11
    相关资源
    最近更新 更多