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

R.O*_*.K. 4 delphi c++builder dbexpress

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

RRU*_*RUZ 6

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

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

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

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