Oracle TNS,无法处理同时安装两个不同版本时的服务名称

Oracle TNS,无法处理同时安装两个不同版本时的服务名称,oracle,ora-12154,Oracle,Ora 12154,在我们的服务器中,我们发布了一个asp.net应用程序,它使用oracle11g作为数据库 我们只需在web.config中设置连接字符串,就可以了 但是,有人在同一台服务器上安装oracle8,因为他们需要在其他客户端应用程序中安装oracle8 但之后,我们的web应用程序无法工作,我们得到错误: ora-12154 TNS不处理服务名称 然后我发现路径环境已经改变了。首先添加C:/app/oracle81/bin。但即使我先更改D:/app/oracle11g/bin,它也不起作用 想让这

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

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

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

但之后,我们的web应用程序无法工作,我们得到错误:

ora-12154 TNS不处理服务名称

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


想让这两种方法都起作用吗?

您可以调查.NET中使用的驱动程序。。。Microsoft不推荐的Oracle提供程序或Oracle自己的提供程序或某种ODBC提供程序位于DSN中几种可能的驱动程序之上。每一种都可能以不同的方式进行补救

但听起来,Oracle 8安装在某种程度上窃取了Oracle 11安装的优先级,这不仅仅是PATH环境变量。我猜是登记处。 按照不便和有效性的升序,您可以尝试:

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

2在Oracle 8主页中配置TNS条目以连接到Oracle 11数据库。接受这样一个事实:你正在使用一个非常过时的客户端


3卸载并重新安装Oracle 11以使其窃取优先级。

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