方法1:直接接続する
Set cnn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
cnn.Open "Provider=msdaora;Data Source=sid;User Id=userid;Password=pwd;"
Set rst = cnn.Execute("select * from tmp")
'物理名表示
For j = 0 To rst.Fields.Count - 1
Cells(9, j + 1) = rst.Fields(j).Name
Next
'結果表示
Range("B10").CopyFromRecordset rst
cnn.Close
方法2:①Oracle Data Access Components (ODAC) 下载安装→ODTwithODAC112030.zip
②接続
'oo4o用のオブジェクト変数の宣言
Dim OraSession As Object 'セッション
Dim OraDatabase As Object 'データベース
Dim rs As Object 'データセット(レコードセット)
'セッションオブジェクトの生成
Set OraSession = CreateObject("OracleInProcServer.XOraSession")
'oo4oデータベースオブジェクトの生成(DBへUserID:scott、パスワード:tigerで接続)
Set OraDatabase = OraSession.OpenDatabase("sid", "userid/pwd]", 0&)
sql_str = "select * from tmp where id ='" + id + "')"
'oo4oデータセット(レコードセット)の生成(全データを返すレコードセットの生成)
Set rs = OraDatabase.CreateDynaset(sql_str, 0&)
'オブジェクトのクローズ
rs.Close
'各種オブジェクトの開放
Set rs = Nothing
Set OraDatabase = Nothing
Set OraSession = Nothing