需求是这样的:两个系统,每个系统对应的数据库都有数百张表,而且是同样的表结构。现在要把A系统的数据导入B系统中,需要做一个工具来实现。因为表的数量确实太大,所以不可能针对每个表写sql脚本去执行了。现在的思路是在目标系统中利用jdbc去链接源方系统读取数据写入本地数据库。动态的去控制需要迁移的表名
问题:读取数据获取resultset对象后 针对每一条结果 能不能不去拼sql,有没有简单的方法将这个resultset的值对应到本地的数据库中去? 如果非要拼insert的sql的话,字段值有很多类型 有的需要加'',有的不需要等等 怎样去控制?
谢谢
也许将数据导出成csv,然后在导入,我觉得写shell会简单些吧。
java写这个我想只能拼了。
PS:
我之前写过一个java导数据工具,list里面存了10条数据就内存溢出,结果发现里面竟然有BLOB字段。
所以以后都不建议这么搞,就算搞的话,你考虑多少条刷新一次。
exp?imp?
哎呀,做这种事情还要自己写程序?
我建议你通过ETL工具导数据,那是又快又精确。推荐一款开源ETL工具kettle。
如果没接触过,网上有教程,随便看看就明白了,很简单的,何况你要作的操作只是导数据,很容易的
建议直接通过命令导出这个库。。。
导出之后再执行一遍就OK,至于目标库中已存在的相同表结构,我觉得没有太大意义。。。