13

So I need to have both the 32bit and 64bit clients for Oracle 11g coexist on the same machine. I have installed both together before, but there are many issues where applications that need to use the 32bit client seem to reference the 64bit client and vice versa.

I've searched for a long time on various Oracle forums and Oracle specific resources and tried various techniques for getting the ORACLE_HOME and such set so the two clients will play nicely side by side, but really nothing has worked.

Is there a legitimate best practice way to do this? Specifically I'm wondering about whether each client needs to be in its own BASE directory (say C:\oracle and C:\oracle32) or if they should be within the same base direct but have their own client folders.

Brandon
  • 133
  • 1
  • 1
  • 6
  • I'd involve Oracle support if your are doing this to support any type of critical application. Avoid surprises! – mdpc May 22 '14 at 19:40
  • 1
    This is just for a development environment, it's kind of crazy but our application has a development interface that only works with the Oracle 32 bit client but the deployed application only requires the 64 bit client. So only on development installs is this ever an issue. – Brandon May 22 '14 at 19:45
  • Which Windows version? – mdpc May 22 '14 at 19:50
  • Copy the appropriate 32 bit DLLs in the application directory to override the system DLLs. Then set the environment per-application. http://stackoverflow.com/questions/3036325/can-i-set-an-environment-variable-for-an-application-using-a-shortcut-in-windows . You probably only need to set it for the 32-bit dev app and leave the global ORACLE_HOME set to 64-bit. – Andrew Domaszek May 22 '14 at 19:51
  • Windows 7 64 SP1 is the Windows version. – Brandon May 22 '14 at 21:28
  • My last comment was actually backwards, it's the development interface that requires 64 bit Oracle client; the actual application (both deployed and when working on it locally) requires 32 bit Oracle. This is an ASP.NET application, so I'm not sure the suggestion in the linked article to execute a .bat file when you click on the application shortcut is going to work so easily. I'd need some method to force IIS to use the 32 bit Oracle client I believe. However I wouldn't want that for every application that I run on local IIS. – Brandon May 23 '14 at 22:12
  • Follow this one: https://stackoverflow.com/questions/24104210/badimageformatexception-this-will-occur-when-running-in-64-bit-mode-with-the-32#24120100 – Wernfried Domscheit Jun 28 '19 at 08:36

5 Answers5

6

I've used this persons guide to installing both versions for .NET developers for a few years now, works like a charm.

How to install 32 and 64 bit versions of Oracle Client

-Stephen

Stephen Patten
  • 185
  • 1
  • 7
  • Link is broken: new link: http://realfiction.net/2009/11/26/use-32-and-64bit-oracle-client-in-parallel-on-windows-7-64-bit-for-e-g-net-apps – bchilders Jun 27 '19 at 20:29
2

In my scenario, I need both clients because I have ESRI's ArcMap application (32 bit) and also their Server product (64 bit) on the same machine. I installed the 64 bit client with no problems a couple days ago and just got around to installing the Desktop application. Now I need the 32 bit Oracle client. The installer was failing stating it couldn't "access the temporary location." I am an admin on the box and that is not the problem. The problem was simply that the OracleRemExecServiceV2 service was running on the machine. I stopped the service and the 32 bit client installation proceeded.

lg1382
  • 21
  • 1
1

Here is my step by step procedure, following Frank Quednau's method, as outlined on the 'realfiction' site: "Use 32 and 64bit Oracle Client in parallel on Windows 7 64-bit for e.g. .NET Apps"

First download the Instant Clients from the Oracle web site:

64-Bit:  instantclient-basiclite-windows.x64-12.2.0.1.0.zip
32-bit:  instantclient-basiclite-nt-12.2.0.1.0.zip

..and extract in to two separate folders. Then from elevated cmd prompt, enter the following commands:

C:\> mklink /D c:\windows\SysWOW64\$Oracle  C:\Oracle-32\instantclient_12_2
C:\> mklink /D c:\windows\system32\$Oracle  C:\Oracle-64\instantclient_12_2

Finally enter the following into the PATH:

C:\Windows\System32\$Oracle

The .NET application will then automatically choose the correct folder to load the appropriate binary version of 'oci.dll'.

nwsmith
  • 121
  • 1
  • 1
  • 6
1

I had the same issue. Oracle 12.2.0.1 both 32 and 64 bit clients installed on the same Windows 10 machine with Office 365 (64 bit). My 32-bit apps stopped working. All I had to do was edit the System Environment variables and DELETE the entry for ORACLE_HOME, then reboot. Didn't need to create any symlinks.

narasik
  • 11
  • 1
0

Simply install 32-bit as client1 and 64-bit client2 in two separate paths like 32-bit in C and 64-bit in D

It will have two separate homes it will work fine on Windows 10

Stuggi
  • 3,366
  • 4
  • 17
  • 34