问题是如何在同一台机器上并排安装 ODP.NET 2.111 和 ODP.NET 4.112,同时使用 tnsnames.ora 指向同一个数据库服务器
我需要支持基于 Oracle 11.1.0 的遗留系统。系统使用 ODP.NET 2.111 连接到 oracle。有两个客户端安装在:
C:\oracle\product\11.1.0\client_1
C:\oracle\product\11.1.0\client_2
两者的 tnsnames.ora 是这样的:
xxxx1_SERVICE=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxxx2)(PORT = xxx3))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = xxx4)
)
)
yyyy1_SERVICE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = yyyy2 )(PORT = yyyy3))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = yyyy4)
)
)
kkkk1_SERVICE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = kkkkk2 )(PORT = kkkk3))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = kkk4)
)
)
pppp1_SERVICE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ppppp2 )(PORT = pppp3))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = pppp4)
)
)
oooo1_SERVICE = (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ooooo2 )(PORT = oooo3))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oooo4)
)
)
系统使用上述设置启动并运行。我需要开发一个基于 EntityFramework 的新系统,这需要我使用更新版本的 Oracle.DataAccess.Dll (4.112)。
我想知道如何在不损害旧系统功能的情况下安装新客户端,以便两者可以并行工作:
注意:我确实尝试在以前的客户端上安装新的 ODP.NET,并且能够使用以下连接字符串连接到数据库:
DATA SOURCE=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=zzzzz1)(PORT=zzzzz2)))(CONNECT_DATA=(SERVICE_NAME=zzz3_SERVICE)));用户ID=\"zzzz4\";密码=\"zzzz5\";
那是不可取的,因为 1- 它破坏了旧系统,因为由于 ODP.NET 中的升级,它不再可以连接到 Oracle 2- 连接字符串看起来很奇怪
我将不胜感激任何帮助,
谢谢,艾丁