私は現在BDE、Paradoxを主体にした開発をしています。テーブルに条件をかけてコピーする作業はTBatchMoveコンポーネントを利用し開発しています。現在Delphi6で開発しているのですがさすがに最新のDelphiに変えていこうと考えています。その際TADOQueryを利用しMySqlとAccessで接続を試しています。
例えば...TADOQuery1でMySqlサーバーに条件を与えTADOQuery2のAccessテーブルに複写する方法はありませんでしょうか?
※ 過去ログの以下のサイトにDEKOさんの発言で「Insert Into コピー先テーブル Select * From コピー元テーブル」の手法がありましたがデーターベース内の複写なので異なったデーターベースでは無理みたいです。何か方法がありましたら知恵を貸して下さい。
https://www.petitmonte.com/bbs/answers?question_id=7903
片方が Access ならば、"Access のクエリ" または
リンクテーブルでインポートできませんでしたっけ?
最悪、グルグル回して Insert 文を実行するだけなので、
私はこの手法を採ったことがないですね。
# 大抵の場合、両者のテーブル構造が異る事が多いですし。
ParadoxからMySQLであれば、データ型を考慮した変換ツールParadox to MySQLデータコンバートがあります。
http://park12.wakwak.com/~kazuo/paradox2mysql/
やりたかった事はMysqlのWebサーバーからデーターを抽出しクライアントPC側でAccessの中間DBを作りたかった訳です。問題になるのは処理時間でAccess対Accessの様な「Insert Into コピー先テーブル Select * From コピー元テーブル」みたいな一括処理が出来ないかと悩んでる次第です。とりあえずDEKOさんがおっしゃる通りグルグル回していくしかないのでしょうかね...。元々コネクションが異なっているから無理かな。
MySqlサーバーからのデーターを抽出しグルグルInsert文で回してみました。意外にスピードは早くいけそうです。またAccess同士のコピーはDEKOさんの書いて頂いた方法(「Insert Into コピー先テーブル Select * From コピー元テーブル」)で行ったら数秒で実現できました。
皆さん有難う御座います、解決です。
ツイート | ![]() |