我在2005的查询分析器里执行了
EXEC   master..xp_cmdshell   'bcp   "student.dbo.stu"   out   "c:\MyTable.txt "   -S.   -Usa   -Psa   -c '
命令。然后分析器下面自动显示出了一个output结果,第一行是NULL,第二行是“开始复制...”,第三行是“NULL”,第四行是“已复制100行”,一共有7行。
我想用另外一条select语句获得这个output结果,应该怎么做呢?

解决方案 »

  1.   

    这是导出命令。如果你调用,本身就返回output,在程序种可以获得,如存储过程一样。
      

  2.   


    如果返回output ,我在SQL语句前面加上 select * from ,怎么报错呢?
      

  3.   

    存储过程返回结果不能用select from接收。
      

  4.   

    我把结果集导入到一个txt文档里了,对文档进行判断执行情况。虽然有点烦,但是找不到别的办法了。
      

  5.   

    提醒楼主,你使用了SQL Server提供的shell,有一定危险性,从安全角度不建议这么做。
      

  6.   

    那,用windows的cmd命令行去实现会好些?
      

  7.   

    通过xp_cmdshell调用bcp,再去获取真的很麻烦,而且有点多此一举
    在命令模式下用cmd,然后定向重输出到某个文本文件要容易的多
      

  8.   


    主要是我要远程连接到别的机器上,对远程机器操作。但是我只有远程机器的SQL账号,没有它们的windows账号,所以远程执行cmd命令我做不了