2017-05-25 168 views
0

我收到ORA-12154「TNS:無法解析指定的連接標識符」。我用Oracle.ManagedDataAccess.Client替換Oracle.DataAccess.Client。我正在使用Windows10 64位。它適用於DataAccess.Client和另一臺機器。操作系統有問題嗎?您的幫助將不勝感激。我收到ORA-12154「TNS:無法解析指定的連接標識符」。問題與Oracle.ManagedDataAccess.Client

+0

我使用nuget包管理器來引用dll – Urbi

+0

@mjw,ODP.NET託管驅動器不依賴於32/64位設置,它適用於兩者。這很可能不是問題。 –

回答

1

我假設ODP.NET託管驅動程序找不到您的tnsnames.ora(或sqlnet.oraldap.ora等)文件。的Oracle.ManagedDataAccess搜索模式是不同的,以搜尋由Oracle.DataAccess

根據documentation管理驅動程序配置的ODP.NET解析別名以該順序用圖案:

  1. 數據源別名在dataSources部分下在<oracle.manageddataaccess.client>部分。 NET配置文件(即machine.config,web.config,user.config)。
  2. tnsnames.ora文件中的數據源別名,位於.NET配置文件中由TNS_ADMIN指定的位置。位置可以由絕對或相對目錄路徑組成。
  3. tnsnames.ora文件中的數據源別名存在於與.exe相同的目錄中。

正如你看到的,不像Oracle.DataAccess從註冊表讀取或TNS_ADMIN環境變量TNS_ADMIN值。

但是,關於TNS_ADMIN環境變量我不確定這是否是文檔中的錯誤 - 也許我會按時測試。

+0

Web配置文件中數據源部分的數據源別名。應用程序沒有從Web配置數據源部分獲取數據源信息。 – Urbi

0

問題已解決。 machine.config文件的section下有tns_admin條目,它指向Oracle_Home上的tnsnames.ora文件。我評論了該部分及其工作正常。感謝大家的幫助。

相關問題