代码之家  ›  专栏  ›  技术社区  ›  ProgSky

SQL Server BCP实用工具不正确的数据导入

  •  1
  • ProgSky  · 技术社区  · 6 年前

    我正在使用 BCP utility 导入 .csv

    这是一份复印件:

    CREATE TABLE [dbo].[test_temptable]
    (
        --[ID] [int] IDENTITY(1,1) NOT NULL,
        [Column1] [varchar](100) NULL,
        [Column2] [varchar](100) NULL,
        [Column3] [varchar](100) NULL,
    
        /*PRIMARY KEY CLUSTERED ([ID] ASC)
    */
    ) 
    ON [PRIMARY]
    GO
    

    测试数据输入 inputData.csv 文件:

    value1,"test,test",value3
    

    bcp "testDB.dbo.test_temptable" in  c:\temp\test\inputData.csv -c -t,  -T -S "testDBServer" -e c:\temp\test\error.csv
    
    1 rows copied.
    Network packet size (bytes): 4096
    Clock Time (ms.) Total     : 1      Average : (1000.00 rows per sec.)
    

    但表中数据不正确:

    enter image description here

    第2栏应该是 测试,测试 和第3栏 价值3 .

    1 回复  |  直到 6 年前
        1
  •  1
  •   sniperd Ali Ahmed    6 年前

    sql server Bulk insert csv with data having comma

    我过去必须这么做,你有一些选择:

    • .csv 文件,将其另存为制表符分隔的文件(这使其成为 .txt ),则可以运行此命令以指示您现在正在使用 tab 作为分隔符:

      bcp "testDB.dbo.test_temptable" in c:\temp\test\inputData.csv -c -t"\t" -T -S "testDBServer" -e c:\temp\test\error.csv

      工作。

    • BULK INSERT 从SQL内部

    • 你可以考虑使用 SSIS DTX 但老实说,我尽量远离额外的开销/复杂性。