簡體   English   中英

Oracle.DataAccess錯誤

[英]Error with Oracle.DataAccess

我對這里提供的服務有疑問。

我遇到了這個錯誤:

System.IO.FileNotFoundException : Could not load file or assembly 'Oracle.DataAccess, Version=4.112.4.0, Culture=neutral, PublicKeyToken=X' or one of its dependencies.' 

所以我想我應該將dll添加到項目的bin文件夾中,沒什么,對吧?

然后我有這個錯誤:

Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. An attempt was made to load a program with an incorrect format.

好的,我之前已經看過這個,只需進入應用程序池並將“啟用32位應用程序”設置為true。...對嗎?

OpenDBConnection: Error occurred. System.TypeInitializationException: 
The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception. 
---> Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client

好的,沒問題,讓我檢查一下:該服務器是2008 R2企業版x64。 我將編譯為x64。

Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. An attempt was made to load a program with an incorrect format.

現在,這種混亂已經持續了最后幾天。 我要生氣了,因為我顯然是在轉一圈,但不知道出口在哪里。

我已經安裝了Oracle 1120_32和1120_64(即11.2.0.2.0版本),已安裝.Net 4.0。 我嘗試編譯為“任何cpu”。 我嘗試將dll屬性設置為“特定版本= false”,“復制本地= true”,以及相反的設置。 我嘗試獲取程序的舊版本,並在代碼中進行了必要的更改后重新編譯它們,並保留舊的配置。 我試過繞着仙人掌跳舞,唱着“請,大比爾,讓這個DLL加載”。

我已經檢查了許多鏈接,但是這是在遠程環境中發生的,因此我沒有選擇設置斷點或查看程序試圖加載哪個DLL的選項,大多數鏈接建議(重新)安裝oracle客戶端在服務器上,但是由於我不得不向管理員詢問,我寧願得到確認,也沒有別的嘗試。

有人可以幫忙嗎?

如果應用程序池啟用了32位,則oracle客戶端和應用程序也必須是32位。

我認為托管ODAC會減輕痛苦。

如果要使用64位,請確保所有內容均為64位(應用程序,應用程序池和Odac)

同樣,Windows Sysinternals進程監視器對於確定應用程序使用的Oracle.DataAccess.dll正在加載哪些非托管dll很有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM