我在SQL SERVER 2000的查询分析器里运行(sa用户)exec master..xp_cmdshell 'dir *.*' 没有问题。成功显示当前目录的文件。
   然后,我用vc做了一个基于对话框的程序(它向指定远程机器发送消息),然后在查询分析器里运行
exec master..xp_cmdshell 'c:\ShutDown.exe' ,no_output但是对话框出不来,查询分析器就总在运行这条语句。
备注:但是windows 2000的进程里可以看到它在运行。远程机器能收到该程序发送的消息。(发送消息的代码写在对话框::OnInitDialog()中)。  如有SQL server扩展存储过程的实例,欢迎发送给我:[email protected]

解决方案 »

  1.   

    http://www.codeproject.com/database/mssqltutorial.asp
    http://www.codeproject.com/database/spcw.asp
    http://www.codeproject.com/useritems/genericdbcall.asp
      

  2.   

    建议先看懂MASTER中的相应的存储过程再说吧!
    或中PUBS 或NORTHWIND
      

  3.   

    如果你用的也是master库,没问题,如果你用的不是master库而是其他的库,就要use yourdb了,可以试试。
      

  4.   

    xp_cmdshell  存储过程是同步执行的,也就是说!
    它不是调用完之后马上完成,而是要等你调用的程序执行完之后才返回!
    所以,她调用控制台程序是没问题的!而调用对话框程序是就会出现你上面所说的
    情况!永不返回!因为你调用的程序里面有一个无限的消息循环!!!!
    具体情况,请留意SQL SERVER 联机帮助!