最终需求:
需求:将现在有数据库导入到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程序完成。
需求:将现在有数据库导入到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程序完成。