是否可以使用delphi zeoslib从数据库中读取表并将其写回另一台服务器?
我认为,阅读表并回写结果集,但我不知道怎么可能?
我想到了以下几点:
我创建了一个zquery:Select * from table1
,zconnection1
,我希望将结果插回到另一个数据库,zconnection2
。
我使用mysql
个数据库。
答案 0 :(得分: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是否支持)都是
SELECT...INTO
,您可以在server1上选择一个临时磁盘文件,然后将INSERT FROM
临时磁盘表导入server2