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

时间:2011-11-01 18:24:17

标签: delphi c++builder dbexpress

我正在使用DBExpress使用C ++ Builder(或Delphi 2007和XE2)。 我为firebird(我的本地硬盘)连接了两个数据库,一个用于MySQL(在Web上) 使用TSQLConnection。 然后,我的问题是...... 我如何使用(make)SQL语句(或任何东西)将Firebird中的一个表复制到MySQL中的另一个表中? 任何评论都会非常感激..非常感谢...

1 个答案:

答案 0 :(得分:6)

您无法使用SQL语句将Firebird表中的内容复制到MySQL表。另一个RDBMS具有此功能,例如Sql Server具有Linked Servers而MySQL具有FEDERATED engine(仅适用于MySQL数据库)。

所以我有两个选项来处理这个任务:

  1. 使用SqlExpr.TSQLQuerySqlExpr.TSQLDataSet迭代数据集,然后在MySQL表中手动插入每条记录(行)。

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