0

是否可以使用 delphi zeoslib 从数据库中读取表并将其写回另一台服务器?

我认为,读取表格并写回结果集,但我不知道如何,这可能吗?

我想到了以下几点:我做了一个 zquery: Select * from table1zconnection1并且我想将结果插入另一个数据库,到zconnection2.

我使用mysql数据库。

4

1 回答 1

0

我不知道 MySQL(或 Zeos)是否支持跨服务器查询;MySQL documentation应该回答那部分。Zeos 是否允许它进入 DBMS 也是一个我无法回答的问题。使用开源产品的缺点之一是它们通常缺乏可以告诉您这些事情的文档。

我知道肯定会起作用的一种方法(尽管对于非常大的表来说会有点慢)是逐行进行:

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;

想到的另外两个可能的替代方案(我都不知道 MySQL 或 Zeos 是否支持)是

  • 从 server1 导出表作为备份,并将其还原到 server2
  • 如果SELECT...INTO支持,您可以选择到 server1 上的临时磁盘文件,然后在INSERT FROMserver2 中执行该临时磁盘表
于 2013-06-25T12:35:17.627 回答