運行於64作業系統上的C#用戶端通過WCF訪問Oracle資料庫不相容問題

來源:互聯網
上載者:User

標籤:

運行平台: Windows 7  64位作業系統

運行環境: IIS 7

程式設計語言:C#

資料庫: 32位的Oracle 10g

運行原因:64位作業系統C#用戶端程式通過WCF訪問ORACLE資料庫

結果產生異常:System.InvalidOperationException: 未在本機電腦上註冊“MSDAORA”提供者

 

      用戶端程式在本地運行能夠正常訪問Oracle資料庫資料, 但通過WCF串連不上Oracle資料庫, 一開始以為是"MSDAORA"驅動沒裝上,通過檢查,MSDAORA其實已經存在, Oracle Client 也已經裝上,但還是不行。通過百度搜尋發現MSDAORA沒有用64bit的驅動,於是按照網上給出的解決方案進行嘗試:

  方案:把程式全部(包括所有的DLL)重新編譯,編譯的目標是x86(32位), 然後再發布到遠程伺服器上。

  按照網上給出的方案對所以項目將編譯目標改成x86後重新編譯,運行用戶端程式的時候卻又出現了新的問題:

   難道網上給出的方案不行嗎?第一次遇到這種問題,百思不得其解,只能又求助於百度。經過又一輪的百度,發現將項目編譯目標改成x86後重新編譯還不夠,還需要

配置一下IIS的應用程式集區,將應用程式集區配置成“啟用32位應用程式”,如所示配置:

經過更改IIS應用程式集區配置後,再運行用戶端程式,OK一切正常。

 

備忘:因為用戶端程式用C#編寫所以標題中有C#關鍵字,但是其它程式設計語言編寫的用戶端程式可能也會遇到同樣的問題。

運行於64作業系統上的C#用戶端通過WCF訪問Oracle資料庫不相容問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.