首页 文章

使用批量插入导入.csv文件

提问于
浏览
1

我有一个csv格式文件,我想使用批量插入导入到sql server 2008 . 我在csv文件中有80列,例如逗号, column state has NY,NJ,AZ,TX,AR,VA,MA 就像这样几百万行 . 所以我在excel中使用自定义格式将状态列括在双引号中,因此该列将为 treated as single column and does not split at comma in between the column. 但导入仍然不成功;它仍然以逗号分裂 . 任何人都可以建议使用批量插入成功导入包含逗号的列我正在使用此代码 bulk insert test from 'C:\test.csv' with ( fieldterminator=',', rowterminator='\n' ) go 我看到类似问题之前问过here,但我不知道应用代码的visual basic . 还有其他选项来修改excel中的文件吗?

2 回答

  • 3

    还有其他选项来修改excel中的文件吗?

    事实证明,至少在Windows中 .

    • 进入“开始”菜单>“控制面板”>“区域和语言选项” .

    • 在“区域选项”选项卡中,单击“自定义”按钮 .

    • 在列表分隔符字段中,将 , 替换为 | . 单击确定 .

    通过Excel将文件另存为 .CSV 现在将创建一个管道分隔值文件 . 请务必撤消对“区域选项”设置的此更改,因为Excel将列表分隔符用于其他功能 .

    然后你可以像datagod建议那样做,并使用 | 作为列分隔符批量上传文件 .

  • 2

    您应该创建一个格式文件:http://msdn.microsoft.com/en-us/library/ms191516.aspx

    如果您的数据包含逗号,我会选择不同的分隔符 . 你可以指定“|”作为格式文件中的分隔符 .

    例:

    10.0
    4
    1       SQLCHAR       0       100     "|"     1     Col1  SQL_Latin1_General_CP1_CI_AS
    2       SQLCHAR       0       100     "|"     2     Col2  SQL_Latin1_General_CP1_CI_AS
    3       SQLCHAR       0       100     "|"     3     Col3  SQL_Latin1_General_CP1_CI_AS
    4       SQLCHAR       0       7000    "\r\n"  4     Col11 SQL_Latin1_General_CP1_CI_AS
    

相关问题