Gemäß Ihrem VBS-Code sollte die Frage lauten:Verwenden von VBS und der Registrierung, um festzustellen, welche Version und 32- vs. 64-Bit von ODBC Treiber sind installiert
Es gibt viele andere Treiber für Oracle, z. OleDB, ODP.NET, JDBC usw.
Um 32- und 64-Bit zu bekommen, gibt es zwei Möglichkeiten
Führen Sie das VBS entweder in einem anderen Skripthost aus, z. B.
For 64 Bit: >c:\Windows\system32\cscript.exe Drivers.vbs
For 32 Bit: >c:\Windows\SysWOW64\cscript.exe Drivers.vbs
Oder ändern Sie das VBS-Skript, um 32- und 64-Bit-Pfade in der Registrierung abzufragen:
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
Noch ein Hinweis:TNS_ADMIN
und ORACLE_HOME
können per Umgebungsvariable definiert werden, Sie können sie jedoch auch in der Registrierung definieren. Suchen Sie nach 64-Bit
HKLM\SOFTWARE\ORACLE\Key_{ORACLE_HOME_NAME}\TNS_ADMIN
and
HKLM\SOFTWARE\ORACLE\Key_{ORACLE_HOME_NAME}\ORACLE_HOME
und für 32-Bit
HKLM\SOFTWARE\Wow6432Node\ORACLE\Key_{ORACLE_HOME_NAME}\TNS_ADMIN
and
HKLM\SOFTWARE\Wow6432Node\ORACLE\Key_{ORACLE_HOME_NAME}\ORACLE_HOME