欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

sqlserver bcp导出数据问题

程序员文章站 2022-06-12 12:44:04
...

bcp导出数据的大致代码,sql下是这样的: exec xp_cmdshell BCP select top 100 * from MeteorologyDB.dbo.MeteorlogyData queryout d:/data/test.txt -c -S MICROSOF-181A54\SQLEXPRESS -Usa -Pkaka8809; 代码很短,但是可能的问题不少。 1. xp_cmdshell或者

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].

首先要打开sql的tcp服务,设置验证方式为混合验证。

这个还是参考官网吧。http://support.microsoft.com/kb/914277/zh-cn#method1

如果你确认配置没有问题,还是出现无法连接的情况,那么指定-S参数,也就是指定服务器。参看最上面代码的-S 参数,一般都可以解决。


3.无法打开BCP主数据文件

首先确认服务器上有你指定的文件,注意不是本地机子,如果你是在本地做实验那么无所谓了。

如果有,却还是无法写入,可以试试下面这种方法。

建立一个文件夹,共享,允许其他用户修改,将文件放入这个文件夹中。


提醒:

操作完后,记得关闭cmdshell,关闭你的共享文件,关闭一切临时授权。