Error = [Microsoft][SQL Server Native Client 11.0]无法打开 BCP 主数据文件
这个坑啊~~
exec sp_configure 'show advanced options',1;
reconfigure;
exec sp_configure 'Ad Hoc Distributed Queries',1;
reconfigure;
EXEC SP_CONFIGURE 'xp_cmdshell', 1;
reconfigure;
SELECT a.* into #qq
FROM OPENROWSET('SQLOLEDB','192.168.1.2';'sa';'sa', /*此处账号密码为数据库的账号和密码*/
'SELECT 编码,名称,价格,费别 FROM 库名.dbo.表名 ORDER BY ID') AS a
select * into test_bby1 from #qq
EXEC master..xp_cmdshell 'bcp "SELECT * FROM 库名..表名" queryout D:DT.txt -c -T'
exec sp_configure 'Ad Hoc Distributed Queries',;
reconfigure;
EXEC SP_CONFIGURE 'xp_cmdshell', ;
reconfigure;
exec sp_configure 'show advanced options',;
reconfigure;
问题出在这一句上
EXEC master..xp_cmdshell 'bcp "SELECT * FROM 库名..表名" queryout D:DT.txt -c -T'
如果出现这个报错 Error = [Microsoft][SQL Server Native Client 11.0]无法打开 BCP 主数据文件
很大可能是因为 文件没有写入D盘的权限。
我的操作方法:
D盘新建一个文件夹,然后给新建的文件夹授权,后给上一句有问题的语句改写成如下所示 即可。
bcp "SELECT * FROM 库名..表名" queryout D:\email_data\DT.txt -c -T
给新建的文件夹 授予这个权限就可以了。