日期:2014-05-16  浏览次数:20463 次

CSV文件与大容量数据导入SQL中的火急问题
帖子分数不多,算是个人这段时间的一个总结吧。当然,问题还是首要的。

问题描述:最近拿到一批CSV数据文件,大小0-500M不等,需要导入到SQL表中。
                  很自然的,想到了SQL2005中的新增功能   “大容量导入” 
                  关键技术:bcp     bulk insert     open resources
                  数据表的格式与CSV的格式完全相同,所有这里选择使用Bulk Insert,代码命令如下:

                 BULK INSERT Test.dbo.T_test001
                                          FROM 'C:\Users\Bob\Desktop\1.csv'
                                          WITH
                                        (
                                         FIELDTERMINATOR =',',    
                                         BATCHSIZE =100000,
                                 FIRSTROW=2
                                          )
                  这段命令用于导入逗号分隔的CSV文件,设置事务10W,从第二行读取
                  
                  导入之后,发现数据表中有些字段被截断了。

                  CSV文件部分内容如下:
    ------------------------------------------------------------------------------------------------------------------
              微博url,微博内容,原创内容
             http://t.qq.com/p/t/12345,"中文:你好,再见! English:Hello,Bye!",None
     -----------------------------------------------------------------------------------------------------------------             
                 在excel中正确格式截图: