在sqlserver中使用bcp自动导出数据的方法和注意事项

今天测试了下sqlserver中BCP导出数据的功能,可以在sqlserver studio中的查询窗口中使用,也可以在命令行中使用。

方法1:在查询窗口中使用。在查询窗口中使用必需通过sp_configure打开xp_cmdshell的运行许可

ExpandedBlockStart.gif sp_configure设置打开xp_cmdshell的脚本
 1  --  To allow advanced options to be changed.
 2  EXEC sp_configure  ' show advanced options '1
 3  GO
 4  --  To update the currently configured value for advanced options.
 5  RECONFIGURE
 6  GO
 7  --  To enable the feature.
 8  EXEC sp_configure  ' xp_cmdshell '1
 9  GO
10  --  To update the currently configured value for this feature.
11  RECONFIGURE
12  GO

 

 在打开xp_cmdshell的运行许可后,可以运行如下(设表库为test,表为 ryxx)

ExpandedBlockStart.gif 在查询窗口中导出数据,使用“用户名及密码的方式”
1  EXEC master..xp_cmdshell  ' bcp test.dbo.ryxx out c:\currency1.txt -c -U"用户名" -P"密码" '
 

 

ExpandedBlockStart.gif 以可信连接方式
1  EXEC master..xp_cmdshell  ' bcp test.dbo.ryxx out c:\currency1.txt -c -T '

 注意:在查询窗口中执行时可能会出现如下的错误(如下图1所示),这是因为没有对目录添加读写权限造成的,我将输出目录改为“d:\temp”,并添加了NETWORK SERVICE的读写权限(如图2所示),问题解决

bcp在查询窗口执行的错误
图1
给目录添加读写权限
图2

方法2:在命令行中导出,首先bcp的执行程序位于 “C:\Program Files\Microsoft SQL Server\100\Tools\Binn\"

ExpandedBlockStart.gif 以可信连接方式
bcp test.dbo.ryxx out c:\currency1.txt  --T

  

ExpandedBlockStart.gif 以用户名密码方式
1 bcp test.dbo.ryxx out c:\currency1.txt  --U"用户名"  -P"密码"

 

 注意,表名最好是没有特殊字符和“-”的字符串,我的表名为2012-06-25时提示出错。

 

转载于:https://www.cnblogs.com/GDLMO/archive/2012/06/25/sqlserver.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值