7

我是一名 asp.net 网络开发人员。

我安装了 Oracle Client 11 来测试一些特性(EF 支持),但我的应用程序必须在 Oracle10 中,因为我的客户使用它。

所以,如果我在我的客户项目中工作,我需要安装 Oracle10(在我的工作站上测试它),如果我想测试 Oracle11 的功能,我需要安装 oracle 11。

我的问题是:如何在同一工作站中共存 Oracle 10 和 11 客户端。

换句话说,我想在我自己的工作站上调试和运行我的 asp.net Web 应用程序,只需将 web.config 更改为使用 Oracle10 或 Oracle11 客户端。

有可能的?

4

1 回答 1

9

只要将两个版本的Oracle客户端安装在不同的Oracle Homes中,它们应该可以和平共处。只有几个问题需要注意

  1. 默认情况下,每个 Oracle Home 都会有一个单独的 tnsnames.ora 文件(以及 sqlnet.ora 文件等)。如果您在一个 Oracle Home 而不是在另一个 Oracle Home 中配置了 TNS 别名,这通常会导致混淆。您可以将环境配置为使用一组 TNS 配置文件,方法是将 TNS_ADMIN 环境变量设置为指向包含 TNS 配置问题的一个真正来源的目录(即将 TNS_ADMIN 设置为 %Oracle11g_Home%\network\admin 以始终使用11g Oracle Home 中的 tnsnames.ora 文件)。
  2. 一些第三方产品不兼容多户家庭。例如,如果您使用旧版 Microsoft ODBC Driver for Oracle 之类的东西,它将使用 PATH 中最先出现的 Oracle 客户端版本。如果您使用 Oracle 驱动程序连接到数据库,那应该不是问题。如果您确实需要切换默认的 Oracle Home,您可以手动编辑 PATH,也可以启动 Oracle Universal Installer 并在 Installed Products | 下启动。环境,您可以控制 Oracle Homes 在 PATH 中出现的顺序。
于 2011-03-11T20:08:41.447 回答