2013-09-25 68 views
1

我想使用odbc將更新後的一些數據從SQL Server表中導出到Firebird表中。有沒有使用觸發器的方法?如果是,那麼如何才能因爲我不知道如何直接在觸發器定義中使用ODBC連接?我想解析SQL Server中的表中的一些信息,將它們分配給FireBird中的表。例如,將DATETIME剪切爲日期和時間,並將它們分成兩列。是否可以使用Trigger和ODBC將表數據從SQL Server導出到Firebird?

回答

2

這絕對是可能的,但您不能直接在觸發器內使用ODBC連接。觸發器的功能非常有限。它們通常只是一種特殊類型的存儲過程。

http://technet.microsoft.com/en-us/library/ms189799.aspx

通常情況下,觸發將執行額外的SQL,但也可以執行系統調用。你可以讓你的觸發器調用一個可執行文件,它建立到你的sql服務器數據庫的ODBC連接並將更新發送給firebird。使用小型java或C++程序建立ODBC連接或使用類似JDBC/JTDS的東西。 JTDS允許SSO訪問sql server數據庫。

+0

謝謝你的回答。我有其他問題,我可以使用觸發器來執行帶有SQL解析腳本的* .jar文件嗎? – insict

+0

是的,你可以。你可以使用它來執行一個windows shell命令來調用jar文件,或者你可以使用像launch4j http://launch4j.sourceforge.net/這樣的包裝器將你的jar包裝在一個exe文件中。 如果你使用ODBC,我會推薦使用像Launch4j這樣的包裝器,因爲它允許更好地控制JRE的使用。 ODBC連接可能高度依賴於體系結構。例如,MS Access沒有64位ODBC驅動程序,您的JRE架構必須與ODBC驅動程序相匹配,因此您必須強制您的JAR在32位JRE上運行。 – rdmcfee

+0

這當然有不同的意見:http://stackoverflow.com/questions/12974832/sql-server-can-i-use-exec-to-run-an-external-application – rdmcfee

相關問題