配置JTA SQL Server XADataSource參考:https://msdn.microsoft.com/zh-cn/library/aa342335.aspx
使用 JDBC 驅動程序 :https://msdn.microsoft.com/zh-cn/library/ms378526(v=sql.110).aspx
JDBC下載地址:http://www.microsoft.com/zh-CN/download/details.aspx?id=11774
- sqljdbc_4.0\chs\auth\x86(x64|IA64)\sqljdbc_auth.dll放入WINDOWS\system32中
- sqljdbc_4.0\chs\xa\x86(x64|IA64)\sqljdbc_xa.dll放入Microsoft SQLServer\MSSQL\Binn\sqljdbc_xa.dll
- 執行xa_install.sql
如果要同時使用 XA 數據源和 Microsoft 分布式事務處理協調器 (MS DTC)來處理分布式事務,則需要執行以下步驟
(1)在 Windows XP 和 Windows Server 2003 上:
- 在“控制面板”中,打開“管理工具”,然后打開“組件服務”。也可以單擊“開始”按鈕,單擊“運行”,在“打開”框中鍵入dcomcnfg,然后按“確定”打開“組件服務”。
- 展開“組件服務”、“計算機”,右鍵單擊“我的電腦”,然后選擇“屬性”。
- 單擊“MSDTC”選項卡,再單擊“安全性配置”。
- 選中“啟用 XA 事務”復選框,然后單擊“確定”。這將使 MS DTC 服務重新啟動。
- 再次單擊“確定”以關閉“屬性”對話框,然后關閉“組件服務”。
- 停止 SQL Server,然后重新啟動,以確保它與 MS DTC 更改同步。
(2)在Win8或Server 2008上:
- 在“控制面板”中,打開“管理工具”,然后打開“組件服務”。也可以單擊“開始”按鈕,單擊“運行”,在“打開”框中鍵入dcomcnfg,然后按“確定”打開“組件服務”。
- 展開“組件服務”\“計算機”"Distribute Transaction Coordinator",右鍵單擊“本地DTC”,然后選擇“屬性”。
- 單擊“安全”選項卡,再單擊“啟用XA事務”。
- 然后單擊“確定”。這將使 MS DTC 服務重新啟動。
- 再次單擊“確定”以關閉“屬性”對話框,然后關閉“組件服務”。
- 停止 SQL Server,然后重新啟動,以確保它與 MS DTC 更改同步。
注:在這些配置完成以后如果還出現:
錯誤:atomikos:error in recovery。
- 驅動程序有問題。即sqljdbc4.jar。我之前遇到這種問題后就重新在Miscrosoft官網上下載了“sqljdbc_3.0.1301.101_chs.exe";解壓后,所有的配置都用該解壓包中的文件。包括(sqljdbc_xa.dll)
- SQL Server 2000用的是x86(即32)位的文件來配置。因為通過查詢分析器輸入"select @@version"來查看SQL的版本后就會發現,即使操作系統是Server 2003 X64位,但SQL Server 2000仍然是32位的。
- 在WIn8上面輸入“select @@version”后得到版本號“Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Developer Edition (64-bit) on Windows NT 6.2
(Build 9200: ) ”,由此可看出SQL Server是X64的。 - SQL Server 2000在配置JTA XADataSource時,如果用sqljdbc.jar包,里面是沒有com.microsoft.sqlserver.jdbc.SQLServerXADataSource該類的。因此SQL Server 2000也用sqljdbc4.jar該包來配置。
--EOF--
No.304
寫於2015-02-03
