sql >> データベース >  >> RDS >> Oracle

ole-dbのOracleプロバイダーのバージョンを確認する方法。 OraOLEDB.Oracleプロバイダー

    たとえば、ツール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
    



    1. 更新されたAzureSQLデータベース層オプション

    2. Access2019の仕組みと操作方法

    3. 部分的に引用されたCSVファイルをSQLServerに一括挿入

    4. PostgreSQLへの移行に最適なETLツール