hiko-blog

VBA業務改善

MENU

Oracle ODBCドライバの接続ダイアログに自動的接続

Sub Oracle ODBCドライバの接続()

    ' 変数の宣言
    Dim conn As Object
    Dim connectionString As String
    Dim userID As String
    Dim password As String
    Dim tnsService As String
    Dim odbcDriver As String
    
    ' シートからユーザーID とパスワードを読み取る(例: シート1のA1とB1セル)
    userID = ThisWorkbook.Sheets("Sheet1").Range("A1").Value
    password = ThisWorkbook.Sheets("Sheet1").Range("B1").Value
    tnsService = "your_tns_service_name" ' TNSサービス名を指定
    odbcDriver = "Oracle in OraClient11g_home1" ' 使用するOracleドライバを指定
    
    ' ODBC接続文字列を構築
    connectionString = "Driver={" & odbcDriver & "};Dbq=" & tnsService & ";Uid=" & userID & ";Pwd=" & password & ";"
    
    ' ADODB.Connection オブジェクトの作成
    Set conn = CreateObject("ADODB.Connection")
    
    ' Oracle DB への接続
    On Error GoTo ErrHandler
    conn.Open connectionString
    MsgBox "接続成功!"
    
    ' 接続が完了したらここでクエリを実行することも可能です。
    
    ' クローズ処理
    conn.Close
    Set conn = Nothing
    Exit Sub

ErrHandler:
    MsgBox "接続エラー: " & Err.Description
    Set conn = Nothing

End Sub