x32 client and x64 client on same machine ora-12557

gad

Member²
Hello,
I work in win7-64 environment.
I installed 32 bit oracle client and worked for a long time with no problems.
I needed to install 64 bit client to enable 64bit programs to connect to oracle.
I installed it to a different home.
When I was installing I had an instance of PLSQLDEV open. That instance connected before I installed the 64 bit client.
After the 64 bit oracle client installation, connection from sql plus was OK for both clients.
The already opened instance of PLSQLDEV continued to work fine. I disconnected and connected with no problems.
A new instance of PLSQLDEV did not connect with error message ORA-12557.
I tried to configure the connection to use home1 with the correct OCI for the home1 folder. It didn't change the connection problem.

Info enclosed:

-------------------------------------------------------------
PL/SQL Developer
Version 10.0.5.1710
01.88464 - 1 user license
Windows 7 (64-bit) 6.1 Build 7601 (Service Pack 1)

Physical memory : 4,194,304 kB (4,152,840 available)
Paging file : 4,194,304 kB (4,194,304 available)
Virtual memory : 2,097,024 kB (1,857,864 available)

Parameters
D:\Program Files\PLSQL Developer 10\plsqldev.exe
DebugSQL

Preferences
Session mode: Multi
OCI Library: D:\oracle\product\11.2.0\client_1\bin\oci.dll
Use OCI7: False
Allow Multiple Connections: True

Preference Files
D:\Program Files\PLSQL Developer 10\Preferences\Default\Default.ini
C:\Users\israel\AppData\Roaming\PLSQL Developer\Preferences\israel\default.ini

Plug-Ins
*Active Query Builder (D:\Program Files\PLSQL Developer 10\PlugIns\ActiveQueryBuilder.dll)
*PasteOptions 1.2 (D:\Program Files\PLSQL Developer 10\PlugIns\PasteOptions.dll)
PL/SQL Documentation (plsqldoc) (D:\Program Files\PLSQL Developer 10\PlugIns\plsqldoc.dll)
Red Gate Deployment Plug-In (D:\Program Files\PLSQL Developer 10\PlugIns\RedGate.dll)
Version Control Interface 1.2 (D:\Program Files\PLSQL Developer 10\PlugIns\VCS.dll)
(* is Active)

Aliases
GADIRDEV
GADIRPRD
ZGADIRPRD

Homes
OraClient11g_home1 (D:\oracle\product\11.2.0\client_1)

DLLs
D:\oracle\product\11.2.0\client_1\bin\oci.dll

TNS File
D:\oracle\product\11.2.0\client_1\Network\Admin\tnsnames.ora

Using
Home: OraClient11g_home1
DLL: D:\oracle\product\11.2.0\client_1\bin\oci.dll
OCI: version 11.1
-------------------------------------------------------------

TIA,
gad
 
Last edited:
Hello again,
I found the answer, hope it helps someone:
I had to change the system variable ORACLE_HOME to point to home1 for PLSQLDEV to work properly.
This in turn made the 64bit programs stop connecting.
The situation now is when I have to use PLSQLDEV ORCALE_HOME=home1 and for 64bit programs it must be ORACLE_HOME=home2.
I cannot use 32bit and 64bit programs simultaneously.
If anyone knows of a better way to use both types together please share.

gad
 
I had a similar problem. On 64-bit Windows server I had two Oracle homes, one for 64-bit Oracle server (and client) and one for 32-bit Oracle client. The 32-bit client was mainly for PL/SQL Developer.

I did specify my Oracle home and OCI library in PL/SQL Developer settings ("Tools" / "Preferences" / "Oracle" / "Connection" / "Oracle Home (empty is autodetect)" and "OCI library (empty is autodetect)"), but still was unable to connect to DB. The error message I got was (with path and names replaced):

Initialization error
Could not initialize "\bin\oci.dll"
Make sure you have the 32 bits Oracle Client installed.

OracleHomeKey: SOFTWARE\ORACLE\KEY_
OracleHomeDir:
Found: oci.dll
Using: \bin\oci.dll
LoadLibrary(\bin\oci.dll) returned 0

This shows that PL/SQL Developer was still referring to wrong Oracle home (even when showing the correct "oci.dll" location in "Help" / "Support Info..." / "Info" / "Preferences" / "OCI Library", it showed wrong "oci.dll" in "DLLs" section). Setting the ORACLE_HOME environment variable did not help.
What helped was altering PATH environment variable, which originally listed path to the 64-bit home binaries first and to the 32-bit home binares as second, reversing that order (or removing reference to the 64-bit home binaries folder).

What is important for you, is that you do not actually have to alter your system environment variables, you can set them for PL/SQL Developer only, avoiding problems with other applications. You can do it in "params.ini" file of PL/SQL Developer (as I did) or by adding parameters to shortcuts you are using to launch PL/SQL Developer. What you have to add is "env:ORACLE_HOME=home1" (I added "env:PATH=;;"). Read "Command-line parameters" section of PL/SQL Developer Manual (User's Guide) for details.

I hope that helps.
 
Back
Top