delphi zeoslib を使用してデータベースからテーブルを読み取り、それを別のサーバーに書き戻すことは可能ですか?
テーブルを読み取って結果セットを書き戻すことだと思いますが、方法がわかりません。それは可能ですか?
私は次のことを考えました: zquery: を作成し、Select * from table1
そのzconnection1
結果を別のデータベースに挿入して戻したいzconnection2
.
データベースを使用していmysql
ます。
MySQL (または Zeos) がクロスサーバー クエリをサポートしているかどうかはわかりません。そのMySQL documentation
部分に答える必要があります。Zeos がそれを DBMS に渡すことを許可するかどうかも、私には答えられない問題です。オープンソース製品を使用する際の欠点の 1 つは、通常、これらのことを説明するドキュメントがないことです。
私が確実に機能することを知っている1つの方法は(非常に大きなテーブルでは少し遅くなりますが)、行ごとに行うことです:
var
i: Integer;
begin
ZQuery1.SQL.Text := 'SELECT * FROM MyDataOnServer1';
while not ZQuery1.Eof do
begin
ZTable1.Append;
for i := 0 to ZQuery1.FieldCount - 1 do
ZTable1.Fields[i].Value := ZQuery1.Fields[i].Value;
end;
ZTable1.Post;
end;
頭に浮かぶ他の2つの可能な代替手段(MySQLまたはZeosがサポートしているかどうかはわかりません)は次のとおりです。
SELECT...INTO
は、server1 の一時ディスク ファイルを選択してから、INSERT FROM
その一時ディスク テーブルを server2 に作成できます。