0

在我们的服务器中,我们发布了一个使用 oracle11g 作为数据库的 asp.net 应用程序。

我们只需在 web.config 中设置连接字符串,它就可以工作。

但是有人将 oracle8 安装在同一台服务器上,因为他们在其他客户端应用程序中需要它们。

但在那之后,我们的网络应用程序无法工作,我们收到错误:

ora-12154 TNS 不处理服务名称

然后发现path环境变了。首先添加“C:/app/oracle81/bin”。但即使我先更改“D:/app/oracle11g/bin”,它也不起作用。

有什么想法可以使两者都起作用吗?

4

2 回答 2

0

您可能会调查在 .NET 中使用了哪些驱动程序...... Microsoft 已弃用的 Oracle 提供程序或 Oracle 自己的提供程序或某种 ODBC 提供程序位于 DSN 中几种可能的驱动程序之上。每个都可能以不同的方式进行补救。

但听起来 Oracle 8 安装在某种程度上比 Oracle 11 安装窃取了优先级,而不仅仅是“PATH”环境变量。我的猜测是注册表。按照不便和有效性的升序排列,您可以尝试:

1) 运行 Oracle 11 安装程序,看看它是否知道 Oracle 8 主目录。(如果是 8.0 则不太可能)。将其设置为默认值或列表顶部;出口; 然后返回并将 Oracle 11 设置为列表的默认值/顶部。

2) 在您的 Oracle 8 主目录中配置 TNS 条目以连接到您的 Oracle 11 数据库。接受您使用的是非常过时的客户端的事实。

3)卸载并重新安装Oracle 11,使其抢回优先权。

于 2011-09-03T16:40:43.807 回答
0

默认情况下,.net 框架使用路径语句中的第一个 oracle 目录。关于如何解决这个问题已经进行了一些讨论——但最好的办法是每台机器运行一个客户端。

于 2011-09-09T03:44:38.020 回答