【问题标题】:ORA-12541 TNS:no listener on Oracle.DataAccess connection openORA-12541 TNS:Oracle.DataAccess 连接上没有监听器打开
【发布时间】:2012-10-13 18:11:09
【问题描述】:

我的 WCF 服务使用 Oracle.DataAccess.Client 连接到 oracle 数据库。它已经使用以下连接字符串成功运行了一年左右:

OracleConnection conn = new OracleConnection(String.Format("USER ID=XXX;PASSWORD=XXX;DATA SOURCE={0}", db));

我最近买了一台新电脑,不得不重新安装 Oracle 客户端。我试图向我现有的服务添加一个新的 operationContract,并且不得不重新引用新添加的 ODAC。突然,它不再连接了。它在connection.open(); 上失败了

我的 TNSnames.ora 文件与以前相同。我什至尝试将其复制到项目的 bin 目录中只是为了笑。

TOAD 有效。我可以从 OraHome 成功 tnsping 我的数据库。我可以使用System.Data.OracleClient 访问数据库,但我不想重写所有内容以使用已弃用的 dll。

如果 tnsnames 存在,路径在我的 env 变量中标识,并且侦听器正在运行,还应该检查什么?我确实注意到 Oracle 的 HKEY_LOCAL_MACHINE 键指向了错误的 OraHome 路径,但是即使我修改了路径,它仍然无法连接,所以我把它放回去了,担心我会让 TOAD 也停止工作。

有什么建议吗?

【问题讨论】:

    标签: c# oracle visual-studio-2010 visual-studio odp.net


    【解决方案1】:

    如果实例化连接的用户没有运行 Oracle 客户端的权限,则可能会发生此错误。确保运行 WCF 服务的帐户具有正确的权限。

    【讨论】:

      猜你喜欢
      • 2017-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-30
      • 2022-11-22
      • 2014-06-06
      相关资源
      最近更新 更多