我在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]
然后,我用vc做了一个基于对话框的程序(它向指定远程机器发送消息),然后在查询分析器里运行
exec master..xp_cmdshell 'c:\ShutDown.exe' ,no_output但是对话框出不来,查询分析器就总在运行这条语句。
备注:但是windows 2000的进程里可以看到它在运行。远程机器能收到该程序发送的消息。(发送消息的代码写在对话框::OnInitDialog()中)。 如有SQL server扩展存储过程的实例,欢迎发送给我:[email protected]
http://www.codeproject.com/database/spcw.asp
http://www.codeproject.com/useritems/genericdbcall.asp
或中PUBS 或NORTHWIND
它不是调用完之后马上完成,而是要等你调用的程序执行完之后才返回!
所以,她调用控制台程序是没问题的!而调用对话框程序是就会出现你上面所说的
情况!永不返回!因为你调用的程序里面有一个无限的消息循环!!!!
具体情况,请留意SQL SERVER 联机帮助!