我的 WCF 服务用于Oracle.DataAccess.Client
连接到 oracle db。它已经使用以下连接字符串成功运行了一年左右:
OracleConnection conn = new OracleConnection(String.Format("USER ID=XXX;PASSWORD=XXX;DATA SOURCE={0}", db));
我最近买了一台新电脑,不得不重新安装 Oracle 客户端。我尝试将新的 operationContract 添加到现有服务中,并且不得不重新引用新添加的 ODAC。突然,它不再连接了。它在connection.open();
我的 TNSnames.ora 文件与以前相同。我什至尝试将其复制到项目的 bin 目录中只是为了笑。
蟾蜍有效。我可以从 OraHome 成功 tnsping 我的数据库。我可以使用 访问数据库System.Data.OracleClient
,但我不想重写所有内容以使用已弃用的 dll。
如果 tnsnames 存在,路径在我的 env 变量中标识,并且侦听器正在运行,还应该检查什么?我确实注意到HKEY_LOCAL_MACHINE
Oracle 的密钥指向了错误的 OraHome 路径,但即使我修改了路径,它仍然无法连接,所以我把它放回去了,担心我会让 TOAD 也停止工作。
有什么建议么?