Oracle11gで運用している○○DBと、NTT光Fletsを介して、
Windows7上のExcel2013VBAでデータを取得していた。
VBAでのDBへのアプローチはoo4oで行っていた。つまり
Public Sub CommandButton1_Click()
Dim oraSS As OracleInProcServer.OraSessionClass
Dim oraDB As OracleInProcServer.OraDatabase
Dim oraDS As OracleInProcServer.OraDynaset
Dim selCmd As String
'接続
Set oraSS = CreateObject("OracleInProcServer.XOraSession")
Set oraDB = oraSS.OpenDatabase("oracle_DB", "scott/tiger", ORADB_DEFAULT)
'DB抽出
selCmd = "SELECT * FROM DANCHI_SEGS"
Set oraDS = oraDB.CreateDynaset(selCmd, ORADYN_DEFAULT _
+ORADYN_READONLY)
'シートに貼付
If oraDS.RecordCount <> 0 Then
oraDS.CopyToClipboard
Range("D1").PasteSpecial
End If
'接続解除
Set oraDS = Nothing
Set oraDB = Nothing
Set oraSS = Nothing
End Sub
これが動かない。
ADOに置き換えるか、ODP.NETにするか。
参照設定も考えないと。
OracleInProcServer 5.0 type Libraryと同じく参照できないなら意味がない。