オラクルからAccessにデータ追加
オラクルから、必要なデータを抜出し加工の為のDBをAccessで作成していますが、オラクルから抜き出したデータ(レコードセット)を、どうやってAccessのテーブルに書き込めばよいかがわかりません。
◎環境
Oracle:10g
Access:2010
◎現在の状況
Dim CON As New ADODB.Connection
Dim RS As ADODB.Recordset
Dim SQL As String
Dim i As Integer
'DB接続定義
CON.Open "DSN=DNS名;UID=ユーザー名;PWD=パスワード;"
'SQL文
SQL = "SELECT "
SQL = SQL & "カラム1,"
SQL = SQL & "カラム2,"
SQL = SQL & "カラム3"
SQL = SQL & "FROM オラクルテーブル名 "
SQL = SQL & "WHERE 抽出条件 "
SQL = SQL & "AND 抽出条件"
SQL = SQL & "GROUP BY カラム"
SET RS = CON.EXCUTE(SQL)
For i = 1 To 10
Debug.Print rs(カラム1) & rs(カラム2)
next i
ここまでは、オラクルのテーブルから、レコードセットにデータが取り込まれてます。
rs.close: SET RS = Nothing
con.close:SET CON=Nothing
end sub
案1
レコードセットのデータを、Access側のテーブルにループで回して、1行ずつデータ追加
案2
INTO句で直接、テーブル作成
調べていて、2通りのやり方があると思うのですが、どちらにしても、テーブルへの書き込み方がわかりません。
案1の場合、Access側のテーブルを開いてデータ追加する方法
※同時に2つのテーブルを開くことになるのでは?
案2の場合、SQL文はオラクルで処理する為の物なので、AccessテーブルのINTO句が使えるのか?
オラクルのテーブルをリンクする事も考えたのですが、実際動かすPCにはAccessRuntimeしかインストールしてませんので、オラクルのテーブルをリンクしてくれませんでした。
よい方法があれば、アドバイスを頂けたら幸いです。
お礼
早速のご回答ありがとうございました。
補足
No1,No2のご回答を拝見していて、どうも私の質問がおかしかったような気がしてきました。 もう一度(ちょっとだけ)整理して質問させてください。 具体的にはデータグリッド製品ソフト(Avaki社、http://www.cgc.co.jp/htw/npi/080/HPJ_022580.html や、ビーコンIT社:http://www.beacon-it.co.jp/news/pressrelease/2003/p20030701.shtml)の説明を見ても良く理解出来なかったんですが、 3階層モデル(クライアント--アプリケーション--DB)の アプリケーションサーバとDBサーバ(複数)の間に入るんでしょうか。