たとえば、ツールRegDllViewを使用できます。 「OraOLEDB」を検索すると、結果は次のようになります:
より簡単なアプローチは、ORACE_HOME\bin
に移動することです。 ディレクトリを作成し、ファイルOraOLEDB??.dll
を見つけます 。マウスの右クリックでバージョンを確認->プロパティ->詳細。
ただし、ファイルのバージョンを取得するだけで、必ずしもこのDLLも登録され、使用できる状態になっているとは限りません。
または、このVBScriptを使用します:
Option Explicit
Const HKEY_CLASSES_ROOT = &H80000000
Dim Key, strComputer, objRegistry, strPath, arrKeys, fso
Dim strKeyPath, strValueName, strValue, uValue, ver
Set fso = CreateObject("Scripting.FileSystemObject")
strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
objRegistry.enumKey HKEY_CLASSES_ROOT, "CLSID", arrKeys
For Each key In arrKeys
strKeyPath = "CLSID\" & key
strValueName = "OLEDB_SERVICES"
If objRegistry.GetDWordValue (HKEY_CLASSES_ROOT, strKeyPath, strValueName, uValue) = 0 Then
'get the (Default) value which is the name of the provider
objRegistry.GetStringValue HKEY_CLASSES_ROOT, strKeyPath, "", strValue
If InStr(1, strValue, "OraOLEDB.Oracle", vbTextCompare) > 0 Then
' get expanded location
objRegistry.GetStringValue HKEY_CLASSES_ROOT, strKeyPath & "\InprocServer32", "", strPath
ver = fso.GetFileVersion(strPath)
Wscript.Echo strValue & " @ " & strPath & " -> " & ver
End If
End If
Next
OLE DBプロバイダーは32ビットまたは64ビット、あるいはその両方で存在する可能性があるため、スクリプトを2回実行できます。
C:\Windows\System32\cscript.exe Print_OLE.vbs
C:\Windows\SysWOW64\cscript.exe Print_OLE.vbs