我使用talend将数据从sybase迁移到oracle。我使用tSybaseInput作为输入,使用tOracleOutput作为输出db。我在某些地方通过t_Map映射它们,而在其他地方直接映射它们。
运行作业后,不维护行顺序,即数据来自sybase的顺序与oracle中反映的顺序不同。我需要命令是相同的,以便我可以稍后通过输出db到csv的数据然后比较它们来验证数据(现在我正在对它们进行排序(unix排序)..但它似乎是错误的。)
请建议一种在输出db中维护输入db的行顺序的方法。
另外,我的验证方法是正确的还是我应该尝试别的?
答案 0 :(得分:0)
两家供应商之间的字符集和排序顺序可能略有不同,这可能就是您看到订单发生变化的原因。您可能希望在Sybase DB中的表中添加数字键值,然后可以在将数据导入Oracle后用于强制执行特定订单。
至于验证,如果您已经在使用Unix命令行,那么一旦获得了键值,您就应该能够使用diff
来比较两个CSV文件而无需涉及Excel。或者,您可以将Sybase和Oracle添加为Excel的数据源,并将数据直接查询到工作表中,而不是生成CSV。