2017-01-10 92 views
0

我創建了一個簡單的Win Form應用程序。但是我收到錯誤: ORA-12154:TNS:無法解析指定的連接標識符獲勝形式:ORA-12154:TNS:無法解析指定的連接標識

我有一個Oracle連接設置。我通過服務器瀏覽器連接到數據庫來驗證這一點。 (連接到數據庫)。

我知道這是我微不足道的小事。

我正在使用從Nuget下載的Oracle託管驅動程序。

我懷疑它無法找到我的TNS設置。我如何驗證?

簡單代碼:

string connString = "Data Source=qqqqq;User Id=zzzzzz;Password=xxxxx;"; 
    using (OracleConnection oConn = new OracleConnection(connString)) 
    { 
     oConn.Open(); 

     OracleCommand cmd = new OracleCommand("select * from my_table"); 
     var recCount = cmd.ExecuteNonQuery(); 
    } 
+0

是數據來源qqqqq(是的,我知道這不是真正的名字)在你的TNSNAMES.ORA文件中? https://docs.oracle.com/database/121/NETRF/tnsnames.htm#NETRF007 – CDove

+0

ORA-12154'與Oracle管理器驅動程序有關的一些錯誤。檢查連接字符串 – Prajwal

+0

Doh !!!!就是這樣。 – PrivateJoker

回答

0

最有可能的ODP.Net管理的驅動程序沒有找到你的tnsnames.ora文件,RESP。 ldap.ora文件中的Oracle的名字服務

搜索路徑tnsnames.ora文件的情況下是這樣的:在.NET配置文件中dataSources部分下<oracle.manageddataaccess.client>

  1. 數據源的別名(即machine.configweb.configuser.config) 。
  2. tnsnames.ora文件中的數據源別名,位於.NET配置文件中由TNS_ADMIN指定的位置。位置可以由絕對或相對目錄路徑組成。
  3. tnsnames.ora文件中的數據源別名存在於與.exe相同的目錄中。

Oracle Data Provider for .NET, Managed Driver Configuration

注意,不像ODP.NET非託管驅動程序,SQL * Plus或tnsping.exe工具ODP.Net管理驅動程序閱讀環境變量TNS_ADMIN也不註冊表項HKLM\SOFTWARE\ORACLE\KEY_{Oracle-Home}\TNS_ADMIN

相關問題