bcp命令导入大量数据到sql server

公司进行年终总结,需要对300w客户进行追踪,但是这300w客户的id导入数据库中让我小小纠结了一下。


因为需求部门提给我的是excel的数据格式,所以第一反应是用excel导入,但是sql server2005只支持office 2003的格式,所以只能用xls导入,但是xls一张表只能支持65535条数据,相对于300w条数据来说,需要操作将近50次,太麻烦了。


后来发现一个excel可以导入多个sheet,于是又在一个excel中加入了10个sheet,结果不仅导入过程变慢了,而且多个sheet无法导入一个表中(也许我操作有误,没有继续研究了)。


后来发现用sql语句直接导入:

select * into t# FROM openrowset( 'Microsoft.Jet.OLEDB.4.0', 'EXCEL 5.0;HDR=YES;IMEX=1; DATABASE=d:\kq\salary.xls',Sheet1$)


后来研究了半天,怎么运行都报错,估摸着是我那台电脑上没有装office,但是奇怪的是sql server直接导入就能导入,这样却不行。


最后找啊找,终于找到了bcp命令,而且发现可以用txt的方式导入,发现当时自己真的是脑子一根筋,不知道换个模式,死命去找怎么用excel导入,囧。

在sql server中执行:

EXEC master..xp_cmdshell \'bcp S_HGAD_DBS.dbo.AD_DATA_TAB in d:\test.txt -T -c'



bcp命令简单说明:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值