4

DBExpress を使用して C++ Builder (または Delphi 2007 および XE2) を使用しています。TSQLConnection を使用して、2 つのデータベースを Firebird (ローカル ハードディスク) 用に接続し、もう 1 つは MySQL (Web 上) 用に接続しました。次に、私の質問は...どうすればSQLステートメント(または何か)を使用(作成)して、Firebirdの1つのテーブルをMySQLの別のテーブルにコピーできますか?どんなコメントでも大歓迎です..どうもありがとう..

4

1 に答える 1

6

SQLステートメントを使用してFirebirdテーブルからMySQLテーブルにコンテンツをコピーすることはできません。別のRDBMSにはこの機能があります。たとえば、SQL ServerにはLinked Serversあり、MySQLにはFEDERATEDエンジンがあります(MySQLデータベースでのみ機能します)。

したがって、このタスクを処理するための2つのオプションがあります。

  1. SqlExpr.TSQLQueryaまたはaを使用してデータセットを反復処理してから、SqlExpr.TSQLDataSet各レコード(行)をMySQLテーブルに手動で挿入します。

  2. TClientDataSetを使用してメソッドを使用してFirebirdテーブルデータをダンプし、SaveToFile次に別のTClientDataSetでメソッドを使用してデータをロードしLoadFromFile、最後に2番目のTClientDataSetのデータをMySQLテーブルにマージできます。

于 2011-11-02T04:58:10.410 に答える