一、在sqlserver查询分析器里,执行:
EXEC master..xp_cmdshell 'bcp "SELECT * FROM [alarm].[dbo].[a_abc]" queryout "c:\book1.xls" -c -S"ip地址" -U"用户名" -P"密码"'
EXEC master..xp_cmdshell 'BCP test.dbo.name out d:\t_002.txt -c -t -T'
EXEC master..xp_cmdshell 'BCP "select name from test.dbo.name" queryout d:\t_004.txt -c -t -T'
EXEC master..xp_cmdshell 'BCP tran_test.dbo.uptrans out d:\t_006.txt -c -t -S HOUYAJUN\JHIDCDBS005 -T'
注意:会导出数据到服务器的c盘。
二、在cmd,命令行里执行:
bcp "SELECT * FROM [alarm].[dbo].[a_abc]" queryout "c:\book1.xls" -c -S"ip地址" -U"用户名" -P"密码"
会导出到本地机器的c盘。
三、环境要求,导出的机器需要先安装sqlserver,需要有binn\bcp.exe,即环境变量里面需要有:
C:\Program Files\Microsoft SQL Server\80\Tools\BINN;
四、可能出现问题:
执行SQL bcp命令时出现“Syntax Error in ‘queryout’.”错误的原因及解决
在网上搜索发现,是因为:后来在这个机器上安装了Sybase数据库。安装Sybase后,导致环境变量发生了改变导致bcp命令出错。
即sybase也有bcp命令,覆盖了sqlserver的bcp命令,打开环境变量,把sqlserver的binn目录放到前面。
参考:http://penpenguanguan.com/3064.html