bcp导出数据的大致代码,sql下是这样的:
exec xp_cmdshell 'BCP "select top 100 * from MeteorologyDB.dbo.MeteorlogyData" queryout d:/data/test.txt -c -S MICROSOF-181A54\SQLEXPRESS -U"sa" -P"kaka8809"';
1. xp_cmdshell或者cmdshell关闭,解决方法:
sp_configure 'show advanced options', 1; RECONFIGURE; sp_configure 'xp_cmdshell', 1; RECONFIGURE;
第二句是确认
第三句是打开cmdshell
第四句是确认
注意两点:一是RECONFIGURE要大写;而且设置完后一定要执行RECONFIGURE,否则不生效。
2.无法打开连接
出现类似下面的语句提示
SQLState = 08001, NativeError = 2 Error = [Microsoft][SQL Server Native Client 11.0]Named Pipes Provider: Could not open a connection to SQL Server [2].
这个还是参考官网吧。http://support.microsoft.com/kb/914277/zh-cn#method1
如果你确认配置没有问题,还是出现无法连接的情况,那么指定-S参数,也就是指定服务器。参看最上面代码的-S 参数,一般都可以解决。
3.无法打开BCP主数据文件
首先确认服务器上有你指定的文件,注意不是本地机子,如果你是在本地做实验那么无所谓了。
如果有,却还是无法写入,可以试试下面这种方法。
建立一个文件夹,共享,允许其他用户修改,将文件放入这个文件夹中。
提醒:
操作完后,记得关闭cmdshell,关闭你的共享文件,关闭一切临时授权。