使用BCP命令将SqlServer2008的数据输出到文本

因为项目需要使用BCP来将SqlServer2008中的数据导出到txt文档中,所以就在本地部署了一份,要做测试用,所以简单的来了解一下:

BCP是SQL Server中负责导入导出数据的一个命令行工具,基于DB-Library的,可以以并行的方式高效的导入导出大批量的数据。

BCP命令的语法如下:

bcp {[[database_name.][owner].]{table_name | view_name} | "query"}
      {in | out | queryout | format} data_file
      [-m max_errors] [-f format_file] [-e err_file]
      [-F first_row] [-L last_row] [-b batch_size]
      [-n] [-c] [-w] [-N] [-V (60 | 65 | 70)] [-6]
      [-q] [-C code_page] [-t field_term] [-r row_term]
      [-i input_file] [-o output_file] [-a packet_size]
      [-S server_name[\instance_name]] [-U login_id] [-P password]
      [-T] [-v] [-R] [-k] [-E] [-h "hint [,...n]"]


具体用法请参考MSDN上的文档: BCP实用工具 

那么在我们使用BCP命令之前,我们首先要在Sql Server数据库中执行下列语句,以修改Sql Server的配置,启用对BCP命令的支持。

--允许配置高级选项
exec sp_configure 'show advanced options',1
go

--重新配置
reconfigure
go

--启用xp_cmdshell
exec sp_configure 'xp_cmdshell',1
go

那么需要知道的是,BCP命令是不能直接在Sql Server的窗口中执行的,所以我们可以在cmd窗口中测试下我们的命令语句,像我的就是如下所示:

bcp "select * from TestDB..record" queryout F:\bcpFile.txt -c -T

数据是我自己生成的测试数据,总共60004行,record表共有三列,分别是recordId、recordName和recordFlag,耗时499毫秒,具体可以看下图片,对于BCP的内部原理不是很清楚,但是可以看得出来这是一个比较高效的命令行工具。



OK,因为最近都一直在忙着优化的工作,所以可能耽误了一些学习的宝贵时间,我希望可以尽快做好这个工作,同时也把自己感兴趣的技术学好。

2013年04月26日,Eric.Tang 记

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值