在两个数据库之间传输数据

问题描述:

我有一个要求在数据库之间传输数据,即可视化foxpro和mysql。每隔一段时间,我都会收到一个foxpro数据库,其中包含一些我必须报告的数据的子集。每次我收到新的数据库时,通常都会有新数据和现有数据的更新。我想将所有当前数据保存在mysql数据库中。我已经开始通过将我的foxpro数据中存在的模式复制到mysql。当新的foxpro数据进入时,我必须查看每条记录并确定它是否存在。如果它已经存在,我必须用新数据更新它。如果它不存在,我必须添加新的数据。在两个数据库之间传输数据

我曾计划使用nhibernate来处理所有的数据访问。我的问题是,这是处理我的问题的好方法,或者如果我应该使用其他方法,比如使用etl工具来传输数据。

如果nhibernate选项可行,是否为每个数据库创建重复实体,然后逐个对象地比较它们?

我希望这是有道理的。感谢您的任何想法。

+0

子集数据库一次只能包含大约50条记录。由于它是如此小的数据子集,是否足以保证使用etl工具?还是应该继续使用我的nhibernate解决方案? – czuroski 2010-10-27 12:01:13

NHiberante不适用于传输大型数据集。当你在这种情况下使用NHiberante时,你会在NHiberante上编写一个etl工具,所以在这种情况下使用Etl工具更容易。

+0

你能推荐一个适合这个应用的etl工具吗? – czuroski 2010-10-27 01:06:17