初歩的な質問で申し訳ありませんが、教えて下さい。
現在、VB2008にて開発を行っていて、VB2008からACCESSに接続し、
ACCESS側のテーブルを更新したいと考えています。
接続方法はADO接続で接続し、INSERT文を用いて更新までできるようになりましたが、
大量のデータを挿入したい為、他に何か方法がないかと考えています。
大量のデータというのは、VB2008側でMySQLのテーブルを検索し、その結果を
ACCESSに吐き出すという事を考えている為、INSERT文でループをまわすというのも
綺麗ではない為、他に方法を探しています。
何か他に良い挿入方法はありますでしょうか?
VB2008側のデータの持ち方としてはこだわりはなく、データセット、配列、なんでも
良いと考えています。
よろしくお願いします。
> INSERT文でループをまわすというのも
VB 側での加工が必要ないのであれば、ODBC 経由で MySQL に接続させて
INSERT INTO ローカル表 (列1, 列2, …)
SELECT 列1, 列2, …
FROM [ODBC;…].MySQLの表
WHERE 検索条件…
のようなクエリを実行するのが良いでしょう。
INSERT 処理が一回で済むため、効率よく取り込めます。
一方、加工条件が複雑であり、VB を介して一行ずつ処理する必要がある場合には、
INSERT を繰り返すのではなく、「DAO」の AddNew メソッドの利用をお奨めします。
多くの場合、ADO.NET や ADODB よりも効率良く登録できます。
(この場合、dbOpenTable でテーブルタイプのRecordsetを開く必要があります)
魔界の仮面弁士様、ありがとうございます!
ご指摘頂いた通り、加工条件が複雑である為、Add Newメゾットを
使うようにしました。
本当にありがとうございました!!