目前我正在进行数据库迁移,因为我正在使用Pentaho Kettle和Perl脚本。 迁移是从Tumor-registry SQL Server数据库到CIDER IBM DB2数据库。
在这项任务中我想实现两个目标。
初始迁移:在此我将所有行(例如100000)从Tumor-registry(SQL Server)迁移到CIDER(IBM DB2)。
后续迁移:Tumor-registry SQL Server数据库不断更新。 它不断添加新行或编辑已存在的行。
我已经找到了第一步,但在第二步中遇到了两个问题。
a)如果用例如新的10行更新Tumor-registry SQL Server数据库;我怎样才能获得这10个新行?
b)如果已更新已存在的10行,那么如何获取这10行并且还想知道哪些列已更新。
My Tumor-registry数据库包含大约50个表。
非常感谢任何帮助。
答案 0 :(得分:0)
答案 1 :(得分:0)
我认为这将通过使用triger
为您提供解决方案在tablename上创建triger trigername 插入后 如 声明@ variablename_1数据类型; 从inserted中选择@ variablename_1 = column_name;
如果要在最后插入的anohter表中保存数据,则创建另一个表
插入表名值(@ variablename_1);
答案 2 :(得分:0)
您可以使用IBM Change Data Capture,它将获取源数据库中的所有DDL和DML,并在目标数据库中适当地复制它们。
http://www-01.ibm.com/software/data/infosphere/change-data-capture/
似乎其他供应商还有其他解决方案,请查看:http://en.wikipedia.org/wiki/Change_data_capture