【发布时间】: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