代码改变世界

sql server 批量导入文本

2017-07-28 18:39  long~~  阅读(358)  评论(0)    收藏  举报

 现获取需呀导入文本的名字,存在临时表中

利用游标 拼接bulk insert 语句,跳过错误,并对执行结果进行保存,

 

declare @sql varchar(4000),@dxid varchar(2000),@id varchar(200)

declare tb_cursor cursor FAST_FORWARD READ_ONLY for select dxid,id from test110 order by id open tb_cursor

fetch Next from tb_cursor into @dxid,@id

while (@@Fetch_STATUS=0)

 begin  

set @sql='BULK INSERT QikanJianban.dbo.erjitimu_ALL170728  FROM ''H:\meta(1)\meta\'+@dxid+'''      WITH (FIELDTERMINATOR = ''||'',ROWTERMINATOR=''0x0A'',codepage=65001)'  

begin try  

 exec (@sql)  

 insert into logs select @@error,@id  

end try  

begin catch  

 insert into logs select @@error,@id

 end catch  

 Fetch next from tb_cursor into @dxid,@id  

end

Close tb_cursor

Deallocate tb_cursor