数据迁移

最终需求:
需求:将现在有数据库导入到mysql中
环境:源数据库清楚是oracle还是mysql ,目标数据库 mysql
资源:源数据库表结构描述的EXCEL文件,CSV数据文件

方案:
1.从excel文件中生成数据库创建脚本,生成数据库表。
2.从CSV文件生成SQL文件,并生成bat/sh脚本,进行数据导入。

excel的操作选用fastexcel
CSV的操作,现在有框架对实际的灵活性不够,因此选则自己实现。

遇到的问题:
1.不应该对每条数据生成一个insert语句
2.注意字符集的问题DB:cp932 程序ws932 --》shift-jis
3.对于日文,出现的半角全角的问题,这里自己写了处理代码,应对CSV文件半角全角同时出现的问题。(日本的项目)

最后,mysql对数据的类型识别真是没的说,降低了工作量。
----------------------------------------------------------------
原始情况:由oracle迁移到mysql
需求:并不是平滑迁移,也就是说可以存在oracle中两个表结构,最终合成一个mysql表的情况。
资源:oracle数据源,mysql数据源

方案:
由oracle数据库元数据生成表结构配置xml文件,事先定义dtd/xsd文件,这个文件主要是为以后生成的xml进行验证修改的,IDE的智能感知还是很方便的,之后,再读取经过修改的,适合现有mysql数据库的表结构xml文件,生成mysql数据库创建脚本,同时生成bat/sh ,生成数据库。生成数据相对复杂一点,由xml生成的数据对象自动生成数据库查询脚本,通过数据分页,生成数据插入脚本。这里需要说明一下,数据类型的匹配可以通过一个类型匹配器进行预先设置,之后生成的xml还可以跟据实际情况进行修改。最后,生成mysql批量导入脚本,进行导入操作。

容易发生的问题:内存溢出,在实际情况中最容易产生这类错误,注意程序编写,很容避免。


由于不能使用工具,大量工作由java程序完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值