[英]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.