把csv文件中的数据导入SQL Server的方法
--修改高级参数sp_configure 'show advanced options',1go--允许即席分布式查询sp_configure 'Ad Hoc Distributed Queries',1go--如果配置的值不在合理范围(在最小值最大值范围内),那么可以强制覆盖reconfigure with override gosp_configure 'xp_cmdshell',1goreconfigurego--创建数据库create database wc gouse wcgo--建表create table xxdd(aa nvarchar(1000),bb nvarchar(1000),cc nvarchar(1000),dd nvarchar(1000),ee nvarchar(1000),ff nvarchar(1000))go/* 这里建立一个c:\wc.csv 文件,内容如下:aa,bb,cc,dd,ee,ff42222222223432432432,32432432432432432432,2332432432,32432432432,32432432,2343243242222222223432432432,32432432432432432432,2332432432,32432432432,32432432,2343243242222222223432432432,32432432432432432432,2332432432,32432432432,32432432,2343243242222222223432432432,32432432432432432432,2332432432,32432432432,32432432,23432432*/--导出格式文件,这个是关键,数据库名称,表名称,用户名和密码,服务器ip和端口--都改成你自己的exec xp_cmdshell 'bcp wc.dbo.xxdd format nul -t "," -f c:\wc.fmt -c -Usa -Pyupeigu -S 192.168.1.106,1433'go--先查看要导入的数据select *from openrowset(bulk 'c:\wc.csv', --要读取的文件路径和名称 formatfile='c:\wc.fmt', --格式化文件的路径和名称 firstrow = 2, --要载入的第一行,由于第一行是标题,所以从2开始 --lastrow = 1000, --要载入的最后一行,此值必须大于firstrow maxerrors = 10, --在加载失败之前加载操作中最大的错误数 --errorfile ='c:\wc_error1.txt', --存放错误的文件 rows_per_batch = 10000 --每个批处理导入的行数 ) as t /*aabbccddeeff42222222223432432432324324324324324324322332432432324324324323243243223432432422222222234324324323243243243243243243223324324323243243243232432432234324324222222222343243243232432432432432432432233243243232432432432324324322343243242222222223432432432324324324324324324322332432432324324324323243243223432432*/--最后可以 insert into 表 (列) select * from openrowset...插入数据即可insert into xxdd (aa,bb,cc,dd,ee,ff)select *from openrowset(bulk 'c:\wc.csv', --要读取的文件路径和名称 formatfile='c:\wc.fmt', --格式化文件的路径和名称 firstrow = 2, --要载入的第一行,由于第一行是标题,所以从2开始 --lastrow = 1000, --要载入的最后一行,此值必须大于firstrow maxerrors = 10, --在加载失败之前加载操作中最大的错误数 --errorfile ='c:\wc_error1.txt', --存放错误的文件 rows_per_batch = 10000 --每个批处理导入的行数 ) as t select *from xxdd