--可以,做個映射
exec master..xp_cmdshell 'net use z: \\yizhi\D$ "密码" /user:yizhi\administrator' /*--说明: 
exec master..xp_cmdshell 'net use z: \\xz\c$ "密码" /user:xz\administrator' z:是映射网络路径对应本机的盘符,与下面的备份对应 
\\xz\c$是要映射的网络路径 xz\administrator 
xz是远程的计算机名, 
administrator是登陆的用户名 
密码 面指定的administrator用户的密码 
--*/ 

解决方案 »

  1.   

    先用net use建立网络会话,然后导出时指向到unc路径。比如
    net use \\本地公网ip 密码/user:用户名bcp .... queryout "\\本地公网ip\c$\a.txt"
    administrators组可访问默认共享
      

  2.   

    EXEC master..xp_cmdshell 'bcp "select *  from opendatasource(''sqloledb'',''Data Source=10.124.20.10;User ID=ncc2008;Password=ncc2008'').ams.dbo.tb_OrderItemLog" queryout d:\wsp.txt -c -t,  -Usa -Psa'
      

  3.   


    --在自己机器的查询分析器中运行以下语句:
    EXEC master..xp_cmdshell 'bcp "select *  from opendatasource(''sqloledb'',''Data Source=服务器IP;
    User ID=用户名;Password=密码'').数据库名.dbo.表名" queryout d:\wsp.txt -c -t,  -U本机用户名 -P本机密码'
      

  4.   

    首先先谢谢两位
    也就是说 先用BCP将数据导出在服务器上 如:
    exec master..xp_cmdshell 'bcp "select * from t1" queryout "C:\a.txt" -c -t , -S"server" -U"sa" -P"12345"' 
    然后在用你两位说的映射?
    exec master..xp_cmdshell 'net use z: \\yizhi\D$ "密码" /user:yizhi\administrator' 
    之后就可以对这个映射文件进行操作了 是这个意思吗?
      

  5.   

    exec master..xp_cmdshell 'net use z: \\yizhi\D$ "密码" /user:yizhi\administrator'--假設映射的盤符為Z
    exec master..xp_cmdshell 'bcp "select * from t1" queryout "Z:\a.txt" -c -t , -S"server" -U"sa" -P"12345"'--把文件生成放在Z:盤
      

  6.   


    生成的文件wsp.txt是在本地的d盘下??
    我的运行后怎么显示
    output
    用法:....
    ....
      

  7.   

    是在本地D盘你要连接你本地的SQL服务器,这样才能用这个方法将文件生成在本地。或者你也可以这样:--先将远程服务器数据导进本机服务器:
    select * into ttt from opendatasource(''sqloledb'',''Data Source=服务器IP;
    User ID=用户名;Password=密码'').数据库名.dbo.表名--再将数据生成txt文件。
    EXEC master..xp_cmdshell 'bcp "select * from tt" queryout d:\wsp.txt -c -t,  -U本机用户名 -P本机密码'这个和上面那其实是一样,只不过,这是拆成两步处理。。
      

  8.   


    --双引忘记去掉了。
    --先将远程服务器数据导进本机服务器:
    select * into ttt from opendatasource('sqloledb','Data Source=服务器IP;User ID=用户名;Password=密码').数据库名.dbo.表名--再将数据生成txt文件。
    EXEC master..xp_cmdshell 'bcp "select * from tt" queryout d:\wsp.txt -c -t,  -U本机用户名 -P本机密码'这个和上面那其实是一样,只不过,这是拆成两步处理。。
      

  9.   

    综上个位达人所述
    总结:
      1.做网络映射 (wufeng4552, fcuandy) 
      2.BCP Opendatasource (pt1314917)
      
      第一种网络映射,因为涉及到服务器的登陆用户名密码等敏感信息,所以如果有其它方案可行则优先考虑其它的. 
      第二中BCP,解释的很清楚,感觉应该是可行的,但也许是我个人的问题执行后并没有生成文件,而是输出了BCP的用法,参数等信息. 
            (如果客户端也没有安装MSSQL呢?)   除此之外 我也试过用
    insert into 
    opendatasource('MICROSOFT.JET.OLEDB.4.0','Text;HDR=Yes;DATABASE=C:\')...[aa#txt] 
    --,aa#txt) 
    --*/ 
    select * from table1 where myserial<100
      结果文件也是生成在服务器端.
     
      不管怎样,晚上回家结帖,谢谢各位了! 
      

  10.   

    其实原理很简单
    先在服务器上做个到客户的的盘符映射。。比如说将客户上的D盘映射到服务器上,盘符为Z。。
    此时在服务器的SQL上运行BCP时指定的路径为Z(其实就是客户端的D盘)