The MSDAORA.1 provider is not registered on the local machine (解決方案)

運行平臺:Windows Server 2008 R2

運行環境: IIS 7

編程語言/程序: C#  Web 應用程序

運行原因: 用MSDAORA.1驅動連接到Oracle數據庫.

結果: 出現異常, 提示: The MSDAORA.1 provider is not registered on the local machine


程序在本地沒問題, 佈署到遠程服務器上後,死活連不上Oracle數據庫, 一開始以爲是"MSDAORA"驅動沒裝上,通過檢查, MSDAORA其實已經存在. 然後懷疑Oracle Client 客戶端沒有裝上,於是Oracle Client 也被裝上了,但還是不行. 接下來就是各種懷疑,各種嘗試,但都還是不行! 於是問道Google,見有一些老外說,MSDAORA沒有64bit的驅動,只有兩種解決方案:

1.要麼換驅動,換連接方式,比如可以改用Oracle提供的64位的驅動, 這意味着要改代碼,可能要改很多,也可能不用改多少東西, 這主要看你自己的項目情況而定.

2.要麼把程序全部(包括所有的DLL)重新編譯, 編譯的目標是x86(32位), 然後再發布到遠程服務器上.

經過短暫的懷疑後,還是決定相信老外, 決定試一下老外的方案, 我們當然選擇簡單的第2方案, 重新編譯成x86再發布. 測試結果, 竟然行了, 唉,果然, 老外誠不欺我.


另外:實際操作過程中,還要記住同時在IIS上, 在對應的應用程序池中,找到 "啓用32位應用程序"選項, 將其設置爲"true" ,就OK了.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章