ORA-12541 TNS:Oracle.DataAccess连接上没有监听器打开

时间:2012-10-23 18:21:54

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

我的WCF服务使用Oracle.DataAccess.Client连接到oracle db。它使用以下connectionString成功运行了一年左右:

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成功地修改我的数据库。我可以使用System.Data.OracleClient访问数据库,但我不想重写所有内容以使用弃用的dll。

如果有tnsnames,我的env变量中会识别路径,并且监听器正在运行,还应该检查什么?我注意到Oracle的HKEY_LOCAL_MACHINE密钥指向错误的OraHome路径,但即使我修改了路径它仍然无法连接,所以我把它放回去,害怕我会让TOAD也停止工作

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

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