【问题标题】:ODP.NET TNS: could not resolve errorODP.NET TNS:无法解决错误
【发布时间】:2012-10-25 15:42:29
【问题描述】:

Win 7 64 位 SP 1

从 .NET 程序中得到错误“ORA-12154: TNS:could not resolve the connect identifier specified”。

我已经在我的机器上安装了 Oracle 11.2 32 位客户端。

使用 Visual Studio 2010 我包含来自 C:\oracle\Ora112\odp.net\bin\4\Oracle.DataAccess.dll 的引用。

使用连接字符串值:User Id=myid;Password=mypw;Data Source=DBNAME;pooling=false;Connection Timeout=45;

运行 TNSPING DBNAME 有效。它说它正在使用 C:\oracle\Ora112\network\ADMIN\sqlnet.ora。此文件设置为使用 ldap 而不是 tnsnames。

运行 sqlplus 有效。我可以使用 myid/dbinstance 进行连接

我想不出为什么 ODP.NET 在所有这些其他事情都正常工作时会给出这个错误的任何原因。有什么想法吗?

【问题讨论】:

    标签: oracle odp.net


    【解决方案1】:

    我不得不为不同的服务器处理不同的连接字符串。尝试以下建模的字符串:

    DATA SOURCE=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=dbservername.company.com)(PORT=1542)))(CONNECT_DATA=(SID=your_sid_from_tnsnames.ora)(SERVER=DEDICATED)));USER ID=myid;Password=mypw
    

    【讨论】:

    • 获取“ORA-12545:连接失败,因为目标主机或对象不存在”。根据您拥有的和 tnsping 返回的内容尝试了一些不同的变体,但仍然收到相同的错误:
    • 主机/对象不存在?尝试使用服务器的 IP 地址(HOST=11.22.33.44),而不是使用服务器名称。另外,更改为 (PORT=1521),这是 Oracle 的默认端口。
    猜你喜欢
    • 1970-01-01
    • 2018-01-05
    • 1970-01-01
    • 2018-06-05
    • 2015-04-08
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多