2014-12-19 31 views
0

我需要在2003服務器上的FoxPro數據庫中使用DB觸發器來觸發存儲過程來調用我的設計的窗口服務,以便可以訪問另一個SQL Server。你能想到如何將存儲過程的調用擴展到Window服務嗎?對Windows服務的Visual FoxPro DB存儲過程調用

VFP觸發調用存儲過程UpdateTable

FUNCTION UpdateTable 
LPARAMETERS lcTableName, lnRecordID 

    callToWinService(lcTableName, lnRecordID) 

RETURN 
ENDFUNCTION 

顯然,我不知道如何將數據傳遞到Windows服務。上次我是在幾年前做的。任何幫助,將不勝感激

而且,是的,我可以在EXE文件中創建一個VFP代碼的Windows服務。

+0

你真的是指Windows服務(在OS上運行的後臺服務)還是Web服務? – Rikalous 2014-12-19 08:52:01

+0

我的意思是一個窗口服務,但使用參數調用EXE文件將會一樣好! – DeKoss 2014-12-19 11:06:48

回答

3

假設你的意思是一個Windows服務,你不能用參數調用它,因爲大概它已經在Windows啓動時運行了。

Windows服務將不得不公開處理通信的某種方式。有實現這一目標的各種方法,有的取決於使用什麼技術來創建服務:

  • 套接字
  • 命名管道
  • Windows通訊基礎,如果它是一個.NET服務
  • 共享內存
  • RPC

如果你調用參數的EXE,然後將這些獲得通過,以任何PRG被設置爲主要公關您的VFP項目。

但是你爲什麼要採取這種方法?爲什麼不直接在觸發器中使用SQLCONNECT(),SQLEXEC()等?

+0

謝謝你的回覆。我不確定SQLCONNECT可以從存儲過程中發出...所以,我會試試看...聽起來很棒... – DeKoss 2014-12-19 23:42:10