Page 1 of 1

32bits AND 64bits Instant Client

Posted: Tue 06 Sep 2016 13:13
by DirkMolman
We develop 32- and 64-bits applications and have both Instant Oracle Clients installed on the development machine.

When we are debugging an application which is build with x64 everything works fine.
But when we build and debug it for x86 we get an error: Cannot obtain Oracle Client information from registry.

Is there a way to make this work?

( we configured the instant clients with the following link: http://blog.devart.com/how-to-configure ... lient.html ) x64 -- sortware\oracle and x86 -- software\wow6432node\oracle

Sincerely
Dirk Molman

Re: 32bits AND 64bits Instant Client

Posted: Wed 07 Sep 2016 14:29
by Pinturiccio
Please perform the following code in x86 and x64 applications, and send us the results:

Code: Select all

var homes = OracleConnection.Homes;
foreach (var home in homes) {
	Console.WriteLine(home.Name + "\t" + home.Path);
}
Console.WriteLine(homes.DefaultHome.Name + "\t" + homes.DefaultHome.Path);
Please also describe the steps you performed for configuring Instant Clients x86 and x64:
1. Which environment variable have you added, and what value have you assigned for them?
2. Paths to Instant Clients - x86 and x64;
3. The records you added to the Registry. Copy records from the registry itself, not from the reg file you used to add records.

Re: 32bits AND 64bits Instant Client

Posted: Wed 07 Sep 2016 15:52
by DirkMolman
The following info will answer all your questions ( I Hope )

Please perform the following code in x86 and x64 applications, and send us the results:
X64
OracleHome1 C:\Tuxedo
... C:\Program Files\Oracle\instantclient_12_1 (... No oracle home )
... C:\Program Files\Oracle\instantclient_12_1 (... No oracle home )

X86
The following error occurs when opening the connection

Cannot obtain Oracle Client information from registry. Make sure that Oracle Client Software is installed, or use the Direct mode when connecting to server.

Please also describe the steps you performed for configuring Instant Clients x86 and x64:
I’ve copied the Instant Clients to 2 separate directories
Followed the instructions as mentioned on the devart website
Created 2 scriptfile voor 64 en 86 situation and added that info to the registry

1. Which environment variable have you added, and what value have you assigned for them?
Path: C:\Program Files\Oracle\instantclient_12_1
TNS_ADMIN: Q:\Centraal\Oracle
2. Paths to Instant Clients - x86 and x64;
X64
C:\Program Files\Oracle\instantclient_12_1
X86
C:\Program Files (x86)\Oracle\instantclient_12_1

3. The records you added to the Registry. Copy records from the registry itself, not from the reg file you used to add records.

For x64 ( Export from Registry )
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE]
"inst_loc"="C:\\Program Files\\Oracle\\Inventory"
@=""
"ORACLE_HOME_NAME"="OraHome"
"ORACLE_GROUP_NAME"="Oracle - OraHome"
"ORACLE_HOME"="C:\\Program Files\\Oracle\\instantclient_12_1"
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES]
"HOME_COUNTER"="1"
"DEFAULT_HOME"="OraHome"
"LAST_HOME"="0"
@=""
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMESID0]
"NAME"="OraHome"
"PATH"="C:\\Program Files\\Oracle\\instantclient_12_1"

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0]
"ORACLE_SID"="ORCL1120"
"ID"="0"
"ORACLE_GROUP_NAME"="Oracle - OraHome"
"ORACLE_HOME_NAME"="OraHome"
"NLS_LANG"="DUTCH_THE NETHERLANDS.WE8MSWIN1252"
"ORACLE_HOME"="C:\\Program Files\\Oracle\\instantclient_12_1"

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OracleHome1]
"ORACLE_HOME"="C:\\Tuxedo"
"ORACLE_HOME_NAME"="OracleHome1"
"ORACLE_GROUP_NAME"="Oracle - OracleHome1"

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO\12.1.3.0.0_VS2012]
"Company_Name"="Oracle"
"Install_Date"=""
"Install_Type"=""
"Major_Version"=dword:0000000c
"Minor_Version"=dword:00000003
"User_Name"="Oracle User"
"Volume_Number"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO\12.1.3.0.0_VS2012\Developer]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO\12.1.3.0.0_VS2012\Developer\Libraries]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO\12.1.3.0.0_VS2012\Developer\Libraries\All]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO\12.1.3.0.0_VS2012\Developer\Libraries\All\libengine.lib]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO\12.1.3.0.0_VS2012\Developer\Libraries\All\libfml.lib]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO\12.1.3.0.0_VS2012\Developer\Libraries\All\libfml32.lib]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO\12.1.3.0.0_VS2012\Developer\Libraries\Client]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO\12.1.3.0.0_VS2012\Developer\Libraries\Client\libbuft.lib]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO\12.1.3.0.0_VS2012\Developer\Libraries\Client\libtux.lib]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO\12.1.3.0.0_VS2012\Developer\Libraries\Server]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO\12.1.3.0.0_VS2012\Developer\Libraries\Server\libbuft.lib]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO\12.1.3.0.0_VS2012\Developer\Libraries\Server\libtux.lib]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO\12.1.3.0.0_VS2012\Developer\Libraries\Workstation]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO\12.1.3.0.0_VS2012\Developer\Libraries\Workstation\libbuft.lib]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO\12.1.3.0.0_VS2012\Developer\Libraries\Workstation\libwsc.lib]
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO\12.1.3.0.0_VS2012\Environment]
"TUXINSTALLED_BEAHOME"="C:\\Tuxedo"
"TUXINSTALL_SAMPLES_CHOOSE"="no"
"NLSPATH"="C:\\Tuxedo\\tuxedo12.1.3.0.0_VS2012\\locale\\C"
"TUXDIR"="C:\\Tuxedo\\tuxedo12.1.3.0.0_VS2012"
"ULOGPFX"="C:\\Tuxedo\\tuxedo12.1.3.0.0_VS2012\\ULOG"
"ULOGOUT"=dword:00000001
"TUXIPC_MSG_BYTES"=dword:00010000
"TUXIPC_MSG_HDRS"=dword:00001fc0
"TUXIPC_MSG_QUEUE_BYTES"=dword:00010000
"TUXIPC_MSG_QUEUES"=dword:00000100
"TUXIPC_MSG_SEG_BYTES"=dword:00000040
"TUXIPC_MSG_SEGS"=dword:00007fff
"TUXIPC_PROC"=dword:00000400
"TUXIPC_SEM_IDS"=dword:00000400
"TUXIPC_SEM_UNDO"=dword:00000400
"TUXIPC_SEM"=dword:00000400
"TUXIPC_SHM_PROCS"=dword:000001f4
"TUXIPC_SHM_SEGS"=dword:00000032
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\TUXEDO\12.1.3.0.0_VS2012\SECURITY]

For x86 ( export from registry )
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE]
"ORACLE_HOME"="C:\\Program Files (x86)\\Oracle\\instantclient_12_1"
@=""
"ORACLE_HOME_NAME"="OraHome"
"ORACLE_GROUP_NAME"="Oracle - OraHome"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\ALL_HOMES]
"HOME_COUNTER"="1"
"DEFAULT_HOME"="OraHome"
"LAST_HOME"="0"
@=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\ALL_HOMESID0]
"NAME"="OraHome"
"PATH"="C:\\Program Files (x86)\\Oracle\\instantclient_12_1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\HOME0]
"ORACLE_HOME"="C:\\Program Files (x86)\\Oracle\\instantclient_12_1"
"ORACLE_SID"="ORCL1120"
"ID"="0"
"ORACLE_GROUP_NAME"="Oracle - OraHome"
"ORACLE_HOME_NAME"="OraHome"
"NLS_LANG"="DUTCH_THE NETHERLANDS.WE8MSWIN1252"

Re: 32bits AND 64bits Instant Client

Posted: Thu 08 Sep 2016 13:32
by Pinturiccio
DirkMolman wrote:Path: C:\Program Files\Oracle\instantclient_12_1
Please also add C:\Program Files (x86)\Oracle\instantclient_12_1 to the Path environment variable. Does it solve the issue?

Re: 32bits AND 64bits Instant Client

Posted: Mon 12 Sep 2016 07:27
by DirkMolman
The problem is solved.
Thank you very much!