如何使用TSQLConnection/dbExpress将一个数据库表复制到另一个数据库的对应表中?

5

我正在使用C++ Builder(或Delphi 2007和XE2)使用DBExpress。我使用TSQLConnection连接了两个数据库,一个是Firebird(在我的本地硬盘上),另一个是MySQL(在Web上)。然后,我的问题是......如何使用(制作)SQL语句(或任何其他方法)将Firebird中的一个表复制到MySQL中的另一个表?非常感谢您提供任何评论。

1个回答

6
您不能使用SQL语句将Firebird表中的内容复制到MySQL表中。其他RDBMS例如Sql Server具有Linked Servers功能,而MySQL具有FEDERATED engine(仅适用于MySQL数据库)。因此,我看到两个处理此任务的选项:
  1. 使用SqlExpr.TSQLQuerySqlExpr.TSQLDataSet迭代数据集,然后手动将每个记录(行)插入MySQL表中。

  2. 使用TClientDataSet使用SaveToFile方法转储Firebird表数据,然后使用另一个TClientDataSet使用LoadFromFile方法加载数据,最后你可以合并第二个TClientDataSet的数据到MySQL表中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接