mysql导出数据到db2_将mysql数据转到db2数据库

  • Post author:
  • Post category:mysql


一、前言

最近在做的项目,原本数据库使用的是mysql,现在数据库需要改用db2,写这篇文章记录一下将原本mysql表数据转到db2相应表的过程。

二、所需工具

1、Navicat

2、编辑器notepad++或者其他

3、Db2客户端连接工具DBeaver或者其他

三、步骤

1、Navicat中,想要导出的表右击—Export Wizard—SQL script file—next…最后start,就导出相应的sql脚本。

fd8660a3221c03717a2ea681e909007c.png

ca86aea6a7bba6efcb2809d19e649507.png

2、用notepad打开导出的脚本,然后改成db2相应的批量插入语句。

162e8cddbabe89b1adb175f60198a728.png

3、复制粘贴到db2客户端去执行

bd2d5b8b004f67a0e9cb8545fff93ae9.png

四、执行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



版权声明:本文为weixin_42307478原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。