iT邦幫忙

1

MSSQL 2019 使用 DB Link Oracle ODAC 19c。 "OraOLEDB.Oracle" 無法開始分散式交易

Nick 2026-03-26 17:57:313457 瀏覽
  • 分享至 

  • xImage

如題

MSSQL 2019 使用 DB Link Oracle ODAC 19c。

爆出錯誤 "OraOLEDB.Oracle" 無法開始分散式交易

我的設備為

  • Windows Server 2019
  • MS SQL 標準版 2019

本機 DTC 設定

  • 網路 DTC ✔️
  • 允許遠端用戶端 ✔️
  • 允許遠端系統管理 ✔️
  • 允許輸入 ✔️ 允許輸出 ✔️
  • 不需要驗證 ✔️
  • 啟用 XA 交易 ✔️

防火牆設定

  • 應用程式/分散式交易協調器 ✔️

MSSQL Providers 設定

  • 允許 Inprocess ✔️

Server Link 設定

  • 資料存取 ✔️
  • RPC 輸出 ✔️
  • 使用遠端定序 ✔️
  • 啟用 RPC 的分散式交易升階 ✔️

在使用 OPENQUERY(OracleODAC, sql) 的時候做查詢是沒有問題的。
使用 INSERT INTO #enclosure EXECUTE (@sql) AT OracleODAC 時就無法。

請問各位大大有人有解嗎?
先感謝各位耐心看完

圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
一級屠豬士
iT邦大師 1 級 ‧ 2026-03-26 21:01:03
Nick iT邦新手 4 級 ‧ 2026-03-27 09:27:22 檢舉

感謝您的回答,不過我已經照著此文件做過了,無效。

0
花旗蔘
iT邦新手 5 級 ‧ 2026-03-27 23:47:05

--試試
1' 把 "啟用 RPC 的分散式交易升階" 先OFF掉 , 再試試會成功否
OR
2' 改寫! 不要用EXECUTE 改用OPENQUERY代替
EX:
SELECT * INTO #temptable FROM OPENQUERY(OracleODAC,sql)

Nick iT邦新手 4 級 ‧ 2026-04-07 12:13:45 檢舉

謝謝你的回答 1. 成功 2. 好的我會請同事評估

我要發表回答

立即登入回答