2009-10-05 80 views
1

我正在嘗試通過Visual Studio 2008中的實體框架創建與Oracle數據庫的連接。我正在運行64位Vista Ultimate。由於應用程序類型導致無法訪問oci.dll

起初,我甚至很難通過Visual Studio連接到數據庫,但最終通過安裝10204_vista_w2k8_x64_production_db和ODTwithODAC1110720,但只有通過Visual Studio進行接口所需的最小部分才能工作。

我對此設置完全陌生,所以很可能我犯了一個錯誤,但安裝這兩個軟件包是我通過Visual Studio創建連接的唯一方法。

我做了連接,並使用嚮導來創建一個。 edmx文件。模型和協會創建完美,我認爲事情會很好地發揮作用。我使用默認名稱「實體」作爲參考名稱。

當我嘗試做以下

filingsContext = New Entities() 
filingsContext.TABLE_NAME_HERE.First() 

我得到這個下面的錯誤..

的InnerException = {「無法加載C:\程序\ adexter \ OraHome_1 \ OCI.DLL請檢查你是否在64x應用程序中使用了64x版本的Oracle客戶端。「}

在我運行應用程序的每個時間點上,我都可以連接到oracle數據庫嗎?

回答

1

您遇到的問題是您試圖在64位應用程序中加載32位版本的DLL。嘗試切換Visual Basic應用程序爲目標的32位/ x86和應該解決這個問題

  1. 右鍵解決方案資源管理
  2. 選擇屬性,點擊該項目
  3. 轉到編譯選項卡
  4. 點擊高級編譯選項
  5. 更改目標CPU組合的x86
  6. 點擊OK
+0

感謝您的回覆!這確實奏效。我之前嘗試過類似於配置管理器的類似功能,但卻被其他彈出的錯誤所關閉。但是,它們似乎並沒有阻止應用程序的運行,而且我似乎能夠連接到數據庫。謝謝!但是,我現在正在接收幾個錯誤,其中大部分與 一樣無法加載彙編或xml文檔文件。無法加載文件或程序集或其某個依賴項。試圖加載格式不正確的程序。 看來這些是失敗的構建事件? – Alex 2009-10-05 22:40:40

1

確保您已經使用ODAC安裝了ODT的64位版本。

查看this answer關於如何確定應用程序將使用哪個客戶端版本(某些鏈接最終目標更具體地說是C#語言,但它們可以適應VB .NEt)。

相關問題