Zgodnie z Twoim kodem VBS pytanie powinno brzmieć:Używanie VBS i rejestru do określenia wersji i bitów 32 vs. 64 ODBC sterowniki są zainstalowane
Dla Oracle dostępnych jest wiele innych sterowników, m.in. OleDB, ODP.NET, JDBC itp.
Aby uzyskać 32 i 64 bity, możesz to zrobić na dwa sposoby
Uruchom VBS na innym hoście skryptowym, tj.
For 64 Bit: >c:\Windows\system32\cscript.exe Drivers.vbs
For 32 Bit: >c:\Windows\SysWOW64\cscript.exe Drivers.vbs
Lub zmodyfikuj skrypt VBS w celu zbadania 32- i 64-bitowej ścieżki w Rejestrze:
strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers"
objRegistry.EnumValues HKEY_LOCAL_MACHINE, strKeyPath, arrValueNames, arrValueTypes
For i = 0 to UBound(arrValueNames)
strValueName = arrValueNames(i)
objRegistry.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
Wscript.Echo arrValueNames(i) & " -- 64 Bit " & strValue
Next
strKeyPath = "SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers"
objRegistry.EnumValues HKEY_LOCAL_MACHINE, strKeyPath, arrValueNames, arrValueTypes
For i = 0 to UBound(arrValueNames)
strValueName = arrValueNames(i)
objRegistry.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
Wscript.Echo arrValueNames(i) & " -- 32 Bit " & strValue
Next
Kolejna uwaga:TNS_ADMIN
i ORACLE_HOME
mogą być definiowane przez zmienną środowiskową, jednak można je również zdefiniować w Rejestrze. Sprawdź 64-bitowy
HKLM\SOFTWARE\ORACLE\Key_{ORACLE_HOME_NAME}\TNS_ADMIN
and
HKLM\SOFTWARE\ORACLE\Key_{ORACLE_HOME_NAME}\ORACLE_HOME
i dla 32 bitów
HKLM\SOFTWARE\Wow6432Node\ORACLE\Key_{ORACLE_HOME_NAME}\TNS_ADMIN
and
HKLM\SOFTWARE\Wow6432Node\ORACLE\Key_{ORACLE_HOME_NAME}\ORACLE_HOME