获取12154:TNS:无法解析.NET指定的连接标识符错误

时间:2012-12-10 12:05:31

标签: c# oracle tnsnames

我在我的代码中写了这个简单的连接:

OracleConnection con = new OracleConnection("Data Source=ORCL;User    
  ID=agapus;Password=agap");
con.Open();

然后按F5运行我的应用程序,我得到上述错误。无论是简单的控制台应用程序还是ASP.NET网站,都会发生此错误。我已经尝试了Oracle.DataAccess和旧的Windows oracle API。我已经尝试了几个Oracle服务,都没有运气。  我正在测试此连接的环境是Windows Server 2008R2。我可以使用SQLPlus或TOAD轻松连接到任何数据库。我已经尝试明确指定TNS_NAMES.ORA文件的位置,也不起作用。  唯一有效的是当我在连接字符串中指定完整路径时。因此,如果我将上面的代码更改为以下代码,它将起作用:

string conString = "user id=agapus;password=agap;data source=(DESCRIPTION=(ADDRESS=     
  (PROTOCOL=tcp)(HOST=172.16.0.121)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)))";
  ID=agapus;Password=agap");
OracleConnection con = new OracleConnection(conString);
con.Open();     

1 个答案:

答案 0 :(得分:0)

如果您查看sqlnet.ora文件,我相信您会发现默认域设置为.world。

这将使您的连接正确名称为ORCL.world。

您可能在TNSNAMES.ora中的连接名称末尾有.world,默认域名也没有。

当你跑步时你会得到什么?