Windows-On-Windows 64-bit (WOW64) enables you to run 32bits applications in 64bits OS.
You will see there is another powershell, another registry, another ODBC tool, another Oracle client.
%SYSTEMROOT%\syswow64\WindowsPowerShell\v1.0\powershell.exe
First, we run powershell(x86)
Get-itemproperty HKLM:\SOFTWARE\ORACLE\*| Select-Object ORACLE_HOME,ORACLE_HOME_NAME
ORACLE_HOME ORACLE_HOME_NAME
----------- ----------------
C:\oracle\product\11.2.0\client_32 client32bit_11203
Only the Oracle 32bit client is displayed
cmd /c "%SYSTEMROOT%\syswow64\odbcconf.exe /a {configdsn ""Oracle in client32bit_11203"" ""DSN=helloworld32|SERVER=DB01""}"
We registered ODBC with a wow64 configurator (odbcconf) or assistant (odbcad32).
$conn = New-Object Data.Odbc.OdbcConnection
$conn.ConnectionString= "dsn=helloworld32;uid=scott;pwd=tiger;"
$conn.open()
(new-Object Data.Odbc.OdbcCommand("select 'Hello World' from dual",$conn)).ExecuteScalar()
$conn.close()
For the 64 bits version, it boils down to the same as odbc 32 bit on 32 bit os
%SYSTEMROOT%\system32\WindowsPowerShell\v1.0\powershell.exe
Get-itemproperty HKLM:\SOFTWARE\ORACLE\*| Select-Object ORACLE_HOME,ORACLE_HOME_NAME
ORACLE_HOME ORACLE_HOME_NAME
----------- ----------------
C:\oracle\product\11.2.0\client_64 client64bit_11203
cmd /c "%SYSTEMROOT%\system32\odbcconf.exe /a {configdsn ""Oracle in client64bit_11203"" ""DSN=helloworld64|SERVER=DB01""}"
$conn = New-Object Data.Odbc.OdbcConnection
$conn.ConnectionString= "dsn=helloworld64;uid=scott;pwd=tiger;"
$conn.open()
(new-Object Data.Odbc.OdbcCommand("select 'Hello World' from dual",$conn)).ExecuteScalar()
$conn.close()
Do not get confused by Windows32 and WOW64.
Windows32 is the default windows system directory with a bad name from upon a time where 32 meant something very big (compared to 16bit software); and WOW64 which is a special directory to run 32bits windows application on a 64bits os.
Note: odbcconf will be removed in future release, prefer Add-OdbcDsn
I am using the windows 2008 R2 64 bit. and installed the oracle 11g 64 bit on this same server. I need create the oracle database ODBC connection on windows 2008 R2 64 bit server.
Kindly provide the solution.
Thanks,
Mohan Reddy
read the end of my post : For the 64 bits version…