程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> WebServers發布提示oracle客戶端模式不一致,webserversoracle

WebServers發布提示oracle客戶端模式不一致,webserversoracle

編輯:Oracle教程

WebServers發布提示oracle客戶端模式不一致,webserversoracle


問題:System.InvalidOperationException: 嘗試加載 Oracle 客戶端庫時引發BadImageFormatException。如果在安裝32 位Oracle 客戶端組件的情況下以64 位模式運行,將出現此問題。---> System.BadImageFormatException: 試圖加載格式不正確的程序。 (異常來自HRESULT:0x8007000B)

分析:提示很明顯在64 bits的環境下使用了32位的oracle客戶端組件。但是我們檢查oracle是安裝的64bits的服務端程序,並沒有安裝32的任何組件。(IIS程序池以32位模式運行)

檢查IIS配置,發現Application Pool被設置成了運行32位模式。那麼這樣會導致程序使用32位的Oracle客戶端運行在這32位的應用程序池。 

因為IIS啟動該應用程序池的工作進程,是一個32位的過程中,當它試圖加載CLR,它會加載的32位CLR,因此將在32位模式下加載程序集。這即使您的程序集編譯為64位和32位模式。在32位模式下運行您的程序集,然後可以調用Oracle客戶端,將在32位模式下運行。

解決:設置application pool的配置Application Pools -> Advanced Settings -> Enable 32-Bit Applications為true。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved