我的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也停止工作
有什么建议吗?
答案 0 :(得分:0)
如果实例化连接的用户没有运行Oracle客户端的权限,则会发生此错误。确保运行WCF服务的帐户具有正确的权限。