代码之家  ›  专栏  ›  技术社区  ›  d4nt

如何指定使用System.Data.OracleClient时要使用的Oracle主页

  •  4
  • d4nt  · 技术社区  · 15 年前

    我正在处理.NET中连接到Oracle10g数据库的Excel加载项(vsto)。

    我在vista x64上运行,我发现我需要在我的计算机上安装x86和x64 Oracle客户端,这样32位进程(如pl/sql developer)和64位进程(如为“任意CPU”编译的.NET控制台应用程序示例)都可以连接到Oracle。

    一切正常。我的问题是,Excel是一个32位的应用程序,托管一个.NET DLL,根据 ProcessMonitor Excel进程正在加载“c:\oracle\product\10.2.0\client\bin\oci.dll”(恰好是64位客户端)处的“oraclient10g\u home1”Oracle客户端,当我的.NET代码尝试使用它时,这会给我一个badImageFormatException。

    我要告诉.NET加载32位的“oraclient10g_home2”Oracle客户端(即“c:\oracle\product\10.2.0\client_2\bin\oci.dll”)。我怎样才能告诉.NET使用客户机2而不是客户机1呢?

    2 回复  |  直到 15 年前
        1
  •  4
  •   Blair    15 年前

    尝试更改hkey_local_machine\software\oracle\home\odp.net中的dllpath。

        2
  •  2
  •   Community CDub    8 年前

    你可以: