不同数据库之间的不同表结构的数据迁移
程序员文章站
2022-05-25 10:10:52
...
Author 陈礼松
最近在在项目组中碰到一个这样的问题,我们做的新系统需要老数据库中导入,就出现了这样的问题
1. 不同的数据库之间的数据迁移;
2. 表结构变化很大;
3. 支持多张表多种字段的对应的数据迁移;
4. 考虑数据量很大的迁移。
然后就写了一个小工具,能解决这样的问题,感觉功能还是蛮通用的,所以就分享一下,主要实现功能:
1. 表字段数据对应关系的可配置化 config.properties的key对应目标数据库的“表名.字段名“ ,value对应源数据库的”表名.字段“,在配置的过程中以key为主,value为源数据库中的字段可重复,例如中间表;
2. 这个是从sqlserver2005 - oracle11的数据迁移,如果数据库类型不一样,请修改以下几个地方:
a) DRIVER;
b) URL;
c) Jar包;
d) 源数据库的分页查询可能不一致。
3.原理:利用两个线程循环批量每次读5000条数据插入5000条数据,读完一张表继续下一张表的的操作。
各位如果有提出提升或者改进的地方,不吝赐教。
最近在在项目组中碰到一个这样的问题,我们做的新系统需要老数据库中导入,就出现了这样的问题
1. 不同的数据库之间的数据迁移;
2. 表结构变化很大;
3. 支持多张表多种字段的对应的数据迁移;
4. 考虑数据量很大的迁移。
然后就写了一个小工具,能解决这样的问题,感觉功能还是蛮通用的,所以就分享一下,主要实现功能:
1. 表字段数据对应关系的可配置化 config.properties的key对应目标数据库的“表名.字段名“ ,value对应源数据库的”表名.字段“,在配置的过程中以key为主,value为源数据库中的字段可重复,例如中间表;
2. 这个是从sqlserver2005 - oracle11的数据迁移,如果数据库类型不一样,请修改以下几个地方:
a) DRIVER;
b) URL;
c) Jar包;
d) 源数据库的分页查询可能不一致。
3.原理:利用两个线程循环批量每次读5000条数据插入5000条数据,读完一张表继续下一张表的的操作。
各位如果有提出提升或者改进的地方,不吝赐教。
推荐阅读
-
Python使用win32com模块实现数据库表结构自动生成word表格的方法
-
Oracle数据库中SP和表之间的关系
-
SQL 2005 ERROR:3145 解决办法(备份集中的数据库备份与现有的数据库不同)
-
根据sql脚本修改数据库表结构的几种解决方案
-
Sqlserver数据库中char、varchar、nchar、nvarchar的区别及查询表结构
-
Oracle、mysql和sqlserver数据库中对于事务的不同理解
-
flask/django 动态查询表结构相同表名不同数据的Model实现方法
-
mysql实用技巧之比较两个表是否有不同数据的方法分析
-
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
-
PHP程序中使用adodb连接不同数据库的代码实例