ODP .NET TNS:没有听众

时间:2010-10-27 19:14:27

标签: .net oracle connection odp.net ora-12541

我目前正在尝试连接到Oracle数据库。我可以在我的开发机器上正常连接,但是当我部署到我的Win2k3 sp2服务器时,我收到以下错误。

Faile打开连接... Oracle.DataAccess.Client.OracleException ORA-12541:TNS:没有谎言在Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode,OracleConnection conn,IntPtr opsErrCtx,OpoSqlValCtx * pOpoSqlValCtx,Object scr,String procedure,Boolean bCheck)

任何想法,想法,指示都会有所帮助。我正在使用Oracle.DataAccess.dll版本4.112.1.2。

由于

3 个答案:

答案 0 :(得分:3)

实际问题是防火墙。

显然我的本地开发机器可以访问托管Oracle的服务器,但我的开发服务器没有。一旦两个服务器之间存在开放连接,TNS:没有听众错误就消失了。

这似乎是Oracle客户端返回的虚假错误消息。监听器在那里,我的配置(连接字符串)是有效的,但两台机器之间没有可用的连接。

答案 1 :(得分:0)

您的TNSNames条目指向的计算机似乎没有运行侦听器。我可以看到三个不同的选项...(1)条目指向tnsnames.ora中的不同机器(两台机器上都不同),(2)这两台机器之间的DNS分辨率不同,或者(3)监听器是如果机器上有一个正在运行,可能会在另一个端口上侦听。

答案 2 :(得分:0)

我也学到了另一件事。 TNSNAMES.ora文件,在Network \ admin文件夹中,cannon在实例的开头有空格。

示例:

MYORACLESERVER =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = tcp)(HOST = myoracleserver.mydomain.com)(PORT = 1525))
    )
    (CONNECT_DATA =
      (SID = MYORACLESERVER)
    )
  )