2011-02-22 101 views
0

我希望能夠從MSSQL調用EXE 我的程序是調用scramble.exe在C的保持:\測試master.dbo.xp_cmdshell 'C: WINDOWS SYSTEM32 NOTEPAD.EXE'

我已經在SQL中使用下面的命令用於測試目的

* master.dbo.xp_cmdshell 'C:\ WINDOWS \ SYSTEM32 \ NOTEPAD.EXE' *

當你執行這一點,只是不斷執行

沒有記事本打開 但如果你打開任務管理器你可以看到運行 的記事本,如果你殺了這個過程的查詢停止

任何一個可以幫助EM與此 TA 傑拉德

回答

5

它不工作的權利,因爲你不應該通過xp_cmdshell調用互動節目。通過xp_cmdshell調用的程序在後臺運行。嘗試一個沒有GUI的程序。

編輯:這適用於所有實現對話的應用程序。 This mskb explains it pretty well

如果通過xp_cmdshell擴展存儲過程運行程序,該程序僅在後臺運行。 xp_cmdshell擴展存儲過程不顯示在其上下文中運行的程序的用戶界面。如果通過xp_cmdshell運行的應用程序確實需要用戶界面進行用戶交互(例如,應用程序試圖創建需要用戶輸入的對話框或消息框),它將停止響應,因爲它正在等待輸入。但是,xp_cmdshell將永遠不會顯示用戶界面;因此,用戶不能提供任何輸入。

+0

明確發生了什麼感謝。那麼有沒有一種方法使用sql來調用.exe – 2011-02-23 10:46:42

相關問題