由于前一阵,需求要求把项目数据从DB2移植到mysql,由我来做,我就尝试了一下。其中遇到了几个问题和一些心得记录如下:
我做的方式比较笨了,如果有谁有更好的方式,希望不吝赐教。
方式1:利用UE编辑器,手工移植。
首先,打开DB2控制台,查询要进行移植的表所有数据(当然我移植的表数据不算很多,一个表几千条)。

然后,利用所选项——导出,视图数据到指定目录,得到表数据,其中列界定符选择",",字符串界定符选择""",这样导出的数据内容如下:

通过UE的列编辑模式和全文替换功能,可以很快的编辑成如下SQL语句:

最后,在MySql中执行这条语句就可以完成数据的移植。如果遇到类型不匹配的情况,另行手工处理。
方式2:利用Sql拼接Insert字符串。
执行如下语句:
select 'insert into `dbname`.`tablename`values
("id","'||name||'","'||pass||'","age");' from DB2INST1.FLEX_USER;
执行结果如下:

然后利用所选项——导出,选择字符串定界符为无,则导出的文件内容如下:

这样,一批插入语句就自动生成了,当然,如果遇到类型不一致,在拼接时可以利用转换函数处理一下。
例如:
char()
CAST( 某列 AS CHAR)
等等。
本文分享了将DB2数据库中的数据移植到MySQL的两种实用方法。第一种方法使用UE编辑器手工处理导出的数据;第二种方法则通过SQL语句自动生成插入语句。文章还讨论了解决类型不匹配的问题。
8439

被折叠的 条评论
为什么被折叠?



