【问题标题】:c# How to set the Oracle Home on the connection string?c#如何在连接字符串上设置Oracle Home?
【发布时间】:2014-07-04 18:08:19
【问题描述】:

我的机器上有两个 Oracle Home(Oracle 9 和 Oracle 11)。 Oracle 9 Home 是默认主目录。如何设置我的连接字符串以使用 Oracle 11 的主页?

【问题讨论】:

  • 告诉我们当您在系统级别更改 ORACLE_HOME 时会发生什么(换句话说,当您更改系统变量 ORACLE_HOME 时)
  • 这是一个模棱两可的问题。如果我理解正确,那么如果您将 ODBC 用于数据库,那么这两个数据库侦听器都将配置到不同的端口并不重要。
  • 这取决于你如何连接到数据库,即你使用哪个提供者。例如,对于 Oracle ADO.NET (Provider=OraOLEDB.Oracle),您不能在一台计算机上安装多个提供程序。

标签: c# oracle connection


【解决方案1】:

在 Windows 中,您可以使用 LOCAL 环境变量来指向连接到您请求的服务的 tns_alias。 在 *nix 平台上,您可以使用 TWO_TASK 变量来做同样的事情。

在这两种情况下,您都可以使用 ORACLE_HOME 指向的任何软件并使用 sql*net 连接到您的数据库。在您的情况下,您使用 Oracle 9 Home 中的客户端软件,您可以连接到运行 Oracle 11 软件的数据库。 (不能 100% 确定使用 v9 客户端连接到 v11 的能力,但如果可能,这就是这样做的方法)

如果您真的想使用 v11 客户端软件,您需要设置环境,其中 ORACLE_HOME 指向 v11 软件位置,PATH 指向您的 v11 ORACLE_HOME/bin。您仍然可以使用 LOCAL 或 TWO_TASK 进行连接,但如果您的数据库在同一主机上运行,​​您还可以将 ORACLE_SID(并取消设置 TWO_TASK)设置为默认连接。

【讨论】:

    猜你喜欢
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    • 2020-09-18
    • 1970-01-01
    相关资源
    最近更新 更多