簡體   English   中英

ODP.NET:提供程序與Oracle客戶端的版本不兼容

[英]ODP.NET: The provider is not compatible with the version of Oracle client

首先,我想說的是,我閱讀了其他問題,但沒有一個對我有幫助。

我收到此錯誤的服務器是Windows 2003 SP2 + .net Framework 4.0 + Oracle i9客戶端

我已經下載了最新的ODP.NET ODAC1120320Xcopy_32bit.zip,將這些dll復制了出去。

  • oci.dll
  • ociw32.dll
  • Oracle.DataAccess.dll
  • orannzsbb11.dll
  • oraocci11.dll
  • oraociei11.dll
  • OraOps11w.dll

我創建了一個僅連接到oracle的小應用程序。 鏈接

而且,當我運行此應用程序時,我得到的是提供程序與Oracle客戶端錯誤的版本不兼容。

在下載頁面上還寫有:下面的每個32位ODAC客戶端下載都支持與Oracle數據庫版本9.2、10.1、10.2和11.1和11.2的連接。

所以我想我的9i數據庫應該可以。

我不確定是否應該使用一些較舊的ODP.NET版本。 SO的一個答案被認為是使用11.1.0.6.20版本,該版本支持.NET 2.0,但是我的應用程序是針對.NET 4.0編寫的。

我能做什么 ?

我不知道在沒有某種安裝的情況下運行oracle客戶端的任何受支持的方法(xcopy版本包括要安裝的批處理文件,因此“ xcopy”有點用詞不當。

就是說,如果您要執行不受支持的操作,則還可以選擇最終將得到支持的內容-100%托管的提供程序(意味着沒有要復制的額外的非托管dll)目前處於測試階段: http:// www.oracle.com/technetwork/database/windows/downloads/odpmbeta-1696432.html

我很震驚,即使只是為了學習,也只能看到最后的結果,所以我很想知道您是否想看看當前的實現方式。 oracle文檔確實指示應用程序目錄實際上是在非托管dll搜索順序中的第一位。 我的猜測是需要其他dll(您使用的是比鏈接文章新的版本)。 我將使用Process Monitor之類的工具查看它從您的應用程序目錄外部加載了哪些特定的dll,並查看是否可以從新的ODAC中找到要復制的等效dll。

暫無
暫無

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

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