一、前言
最近在做的项目,原本数据库使用的是mysql,现在数据库需要改用db2,写这篇文章记录一下将原本mysql表数据转到db2相应表的过程。
二、所需工具
1、Navicat
2、编辑器notepad++或者其他
3、Db2客户端连接工具DBeaver或者其他
三、步骤
1、Navicat中,想要导出的表右击—Export Wizard—SQL script file—next…最后start,就导出相应的sql脚本。
2、用notepad打开导出的脚本,然后改成db2相应的批量插入语句。
3、复制粘贴到db2客户端去执行
四、执行sql时可能遇到的问题
1. SQL 错误:-668 56018 不能向用EDITPROC定义的表中添加列
原因:是因为该表被暂挂了,没办法修改。
解决办法:在数据库执行:CALL SYSPROC.ADMIN_CMD('reorg table 表名')
2.SQL 错误 [22001]: Value "无接口的请求权限(先确定是否写对,再次必" is too long.. SQLCODE=-433, SQLSTATE=22001, DRIVER=4.26.14
原因:某个字段插入的数据过长
解决办法:字段更改长度
3.在手动测试添加数据的时候:
SQL 错误: SQLCODE=-803, SQLSTATE=23505, SQLERRMC=1;OCEANUS.LABEL_INFO, DRIVER=4.27.25
场景:表中有自动导入的数据,容易和手动在页面上添加的数据ID冲突。
原因:id字段有问题。由于id字段是自增字段,与之前导入的数据ID冲突。
解决办法:alter table LABEL_INFO alter ID restart with xxxx,其中xxxx是当前最大ID+1
db2错误码大全:https://blog.csdn.net/qq_35246620/article/details/56877433