我在.Net上使用ODP(使用Oracle.DataAccess dll 10.2編譯)連接到Oracle上有一個非常簡單的應用程序。 我想在將這個應用程序安裝到其他計算機上之前檢查「連接先決條件」(應用程序能否連接到數據庫)?如何驗證ODP和Oracle客戶端連接的先決條件
如何檢查在目標主機上是否安裝了ODP.NET版本10.2或更高版本(註冊表檢查不適用)?
我知道我可以在註冊表中檢查ODP條目 - 但這不會檢查Oracle客戶端和客戶端與ODP之間的兼容性。 另外,如果ODP是由ODAC XCopy安裝安裝的 - 註冊表可能不會被新的ODP條目更新。 而且 - 如果我正在計算機上安裝,安裝了DB,Oracle Client可以不單獨安裝。
還有一個問題:當我試圖從安裝中運行「測試連接」方法,該方法使用機器上引用的dll,它只有ODAC(帶有ODP)11, - 「Oracle.DataAccess.Client.OracleException提供程序與Oracle.DataAccess.Client.OracleInit.Initialize()上的Oracle客戶端版本不兼容Oracle.DataAccess.Client.OracleConnection..cctor()時出現的錯誤消息(ODAC 10.2和11的策略均存在在GAC(程序集)中,指向ODP 2x bin中的Oracle.DataAccess 11)。
那麼,如何安裝和檢查哪些組件以確保適當版本的ODP和Oracle Client已安裝並且應用程序將連接?
預先感謝您!
發生了什麼事你的帖子? – Michael 2015-01-21 17:14:35
我更新了鏈接,並在我的答案中包含了代碼。 – tsells 2015-01-21 20:48:51