Oracle 10和Oracle 11客户端共存

Ewe*_*ton 7 asp.net oracle oracle10g coexistence oracle11g

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

我有Oracle Client 11用于测试某些功能(EF支持),但我的应用程序必须在Oracle10中,因为我的客户使用它.

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

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

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

有可能的?

Jus*_*ave 9

只要您在不同的Oracle Homes中安装两个版本的Oracle客户端,它们就应该和平共存.只有几个需要注意的问题

  1. 默认情况下,每个Oracle Home都有一个单独的tnsnames.ora文件(以及sqlnet.ora文件等).如果您在一个Oracle Home中配置了TNS别名而在另一个Oracle Home中没有配置TNS别名,那么这通常会造成混淆.您可以通过将TNS_ADMIN环境变量设置为指向包含TNS配置问题的一个真正源的目录(即将TNS_ADMIN设置为%Oracle11g_Home%\network\admin以始终使用)来将您的环境配置为使用一组TNS配置文件11g Oracle Home中的tnsnames.ora文件.
  2. 某些第三方产品不符合多家庭标准.例如,如果您使用类似旧版Microsoft ODBC驱动程序的Oracle,它将使用您的PATH中首先出现的任何版本的Oracle客户端.如果您使用Oracle驱动程序连接到数据库,那应该不是问题.如果您确实需要切换哪个是默认的Oracle主目录,则可以手动编辑PATH,也可以启动Oracle Universal Installer并在"已安装的产品"下启动.在环境中,您可以控制Oracle Homes在PATH中出现的顺序.