EXEC master..xp_cmdshell 'bcp "select * from smsdatav6..cmppcancelorder" queryout d:\baobiao\i.txt -c -t "|" -Skanerain  -Usa   -P2599'
这样导出到本机的D:\baobiao\i.txt 没问题
现在想导出到远程服务器EXEC master..xp_cmdshell 'bcp "select * from smsdatav6..cmppcancelorder" queryout \\192.168.121.43\d\baobiao\i.txt -c -t "|" -Skanerain  -Usa   -P2599'
---------------------------------------------
报错如下
SQLState = S1000, NativeError = 0
Error = [Microsoft][ODBC SQL Server Driver]无法打开 BCP 主数据文件
NULL麻烦给帮帮忙

解决方案 »

  1.   

    先把远程服务器的目录映射为本地磁盘试试,exec master..xp_cmdshell 'net use Q: \\192.168.121.43\d\baobiao "密码" /user:帐号'-- 再bcp输出到Q:\i.txt
      

  2.   

    我将远程目录\\192.168.121.43\d\baobiao\映射成了本地的ZEXEC master..xp_cmdshell 'bcp "select RTRIM(orderuser),927123,RTRIM(servicetype),canceldate from smsdatav6..cmppcancelorder where note=''同步退订'' " queryout Z:\i.txt -c -t "|" -Skanerain  -Usa   -P2599'----------------------------------
    还是报错如下
    SQLState = S1000, NativeError = 0
    Error = [Microsoft][ODBC SQL Server Driver]无法打开 BCP 主数据文件
    NULL
      

  3.   

    现在的情况就是,数据是本地的SQL表里的,selcet 以后,可以将查询的数据放到本地的硬盘上,想直接放到远程的机器上。。如果不行的话。。那就只有先弄到本地,做个计划任务,放到远程服务器上了。