我在我的代码中写了这个简单的连接:
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();
答案 0 :(得分:0)
如果您查看sqlnet.ora文件,我相信您会发现默认域设置为.world。
这将使您的连接正确名称为ORCL.world。
您可能在TNSNAMES.ora中的连接名称末尾有.world,默认域名也没有。
当你跑步时你会得到什么?