执行一个BCP语句,在SQL中如下:
declare @Isql as varchar(200)
Set @iSQL= 'bcp "select * from stn.dbo.sheet " queryout \\174.**.**.1\d$\UPLOAD\STN\F6SAPText\124.txt -c -S 174.**.**.2 -U sa -P password '
Print @iSQL
EXEC master..xp_cmdshell @iSQL
结果会报错:
SQLState = S1000, NativeError = 0
Error = [Microsoft][ODBC SQL Server Driver]Unable to open BCP host data-file
但是我单独在Windows命令行中执行BCP语句
'bcp "select * from stn.dbo.sheet " queryout \\174.**.**.**\d$\UPLOAD\STN\F6SAPText\124.txt -c -S servername -U sa -P password
是没有问题的,怎么回事啊?
说明:174.**.**.1和174.**.**.2都不是本地
------解决方案--------------------
BCP host data-file
好像 只能把到处的文件保存在本机上
------解决方案--------------------
\\174.**.**.**\d$\UPLOAD\STN\F6SAPText\这个目录没有写入的权限??
------解决方案--------------------
MS 是SQL SERVER 没有写入网络共享目录的权限,可以检查一下。
------解决方案--------------------
sqlserver 运行账号有对174.**.**.1目录写入的权限?
------解决方案--------------------
我今天也遇到同樣的問題。
用 bcp ccc.tblemployee out \\pri\eis_date\temp_out.txt -w -t "| " -R -T
可以導出文件,
但是用下面的這個就導不出文件。
EXEC master..xp_cmdshell 'bcp ccc.tblemployee out \\pri\eis_date\temp_out.txt -w -t "| " -R -T '
\\pri\eis_date\ 這個共享目錄我是可以在那個機器上直接寫文件的。