ExcelのVBAでADOによるOracle接続を試してみた。

Excel コンピュータ
Microsoft Excel

諸般の事情でOracleクライアントのバージョンアップをしたところOO4Oがなくなっており、慌ててADO接続の方法を調べてみました。

Oracle Clientのインストール

「Oracle Provider for OLE DB」を追加でインストール

Excelの参照設定

「Microsoft ActiveX Data Object 2.8 Library」にチェック

接続確認プログラム

Private Sub test()
    Dim cn As New ADODB.Connection
    
    cn.ConnectionString = "Provider=OraOLEDB.Oracle" _
                        & ";Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)" _
                        & "(HOST=DBサーバーのIPアドレス)" _
                        & "(PORT=DBサーバーのポート))" _
                        & "(CONNECT_DATA=" _
                        & "(SERVICE_NAME=サービス名)))" _
                        & ";User ID=ユーザーID" _
                        & ";PASSWORD=パスワード"
    cn.Open
    
    Dim rs As New ADODB.Recordset
    strSQL = "select * from dual"
    
    rs.Open strSQL, cn
    Do Until rs.EOF
        Debug.Print rs.Fields.Item(0)
        rs.MoveNext
    Loop
    
    rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing
End Sub

実行して「X」が表示されたら接続成功です。

ConnectionStringにセットする値は「Oracle Net Manager」で確認することが出来ます。

PowerShellからADO

コメント