java - 無法執(zhí)行該操作,因?yàn)殒溄臃?wù)器 "***" 的 OLE DB 訪問接口 "SQLNCLI" 無法啟動分布式事務(wù)。解決方法?
問題描述
用戶提出需求要求我們的項(xiàng)目同時處理他們原有項(xiàng)目的數(shù)據(jù)。新項(xiàng)目和原項(xiàng)目數(shù)據(jù)庫都是sqlserver2005,分別在不同的服務(wù)器上,測試環(huán)境sqlserver2005鏈接服務(wù)器sqlserver2012。我打算在新項(xiàng)目數(shù)據(jù)庫上建立鏈接服務(wù)器操作舊服務(wù)器上的數(shù)據(jù)庫,但是項(xiàng)目實(shí)際運(yùn)行期間發(fā)現(xiàn)從項(xiàng)目中使用sql語句通過鏈接服務(wù)器操作舊數(shù)據(jù)庫時出現(xiàn)了錯誤,驗(yàn)證過sql語句在新數(shù)據(jù)庫中執(zhí)行沒有任何問題。百度了很多方法啟動MSDTC服務(wù)、關(guān)閉防火墻、加set xact_abort ON、通過管理工具設(shè)置、直接使用JDBC訪問數(shù)據(jù)庫等,都沒有解決問題。報錯信息:
問題解答
回答1:是否對比了兩臺服務(wù)器的Sevice Pack和所有KB的異同?
回答2:目前找到一種折中的辦法,添加公用方法使用JDBC操作舊服務(wù)器上的數(shù)據(jù)庫,但是維護(hù)起來不太方便,期待有大神能夠給出正確解決方案。
