环境
Win7 x64
MySQL:5.5 (jeewxV2.1)
DB2:9.7
迁移主要是迁移表和表数据,
推荐使用迁移工具生成建表语句,建好表后,再执行导出的insert语句插入数据,因为工具导入数据可能会遇到这样那样的问题
如果导出的sql是多个,可以用以下命令合成一个
copy *.sql all.sql 也可以把这句话放到bat批处理文件里
插入数据前先禁用所有外键,插入后再启用
禁用约束基本语法:
ALTER TABLE 表名称 ALTER FOREIGN KEY 约束名称 NOT ENFORCED
启用约束基本语法:
ALTER TABLE 表名称 ALTER FOREIGN KEY 约束名称 ENFORCED
(这些语句可以在后面的报告(日志)里找到)
介绍
IBM Migration Toolkit 是IBM官方出的迁移工具,支持多种源数据库迁移到DB2或Informix
源数据库:Sybase、SQL Server、Oracle、Informix、MySQL
目标数据库:DB2、Informix
下载
介绍及下载地址
http://www.ibm.com/developerworks/cn/data/downloads/migration/
MKT是个java程序,有windows版和linux版
如果你没有IBM账号,请到此处下载
http://download.csdn.net/detail/haveqing/9352033
安装
我安装到了D:\MTK,
准备
1、因为我是64位环境,需要使用64位jdk,否则可能会报错,配置环境变量
2、把mysql驱动mysql-connector-java-5.1.24-bin.jar放到%JAVA_HOME%\jre\lib\ext下
3、迁移时不支持timestamp on update CURRENT_TIMESTAMP,需要on update CURRENT_TIMESTAMP先去掉,迁移后再在目标上加,源库上也别忘了还原。
源表:weixin_group、weixin_huodong需要调整
4、db2建库脚本,pagesize我选的是32K,16K的也可以
db2 CREATE DATABASE jeewx AUTOMATIC STORAGE YES ON 'D:\' DBPATH ON 'D:\' USING CODESET UTF-8 TERRITORY CN COLLATE USING UCA500R1_LZH PAGESIZE 32768
运行
菜单 IBM Migration Toolkit 2.0 -- Toolkit
运行后cmd窗口会报一个错,不影响使用
java.lang.ClassCastException: java.lang.Object cannot be cast to java.lang.String
新建项目
1.Specify Source
Extract 导出源库结构
要是odbc,需要下载安装mysql的odbc驱动,但是似乎没有64位的,用不了odbc
选择 Native driver information -- Use native JDBC dirver
需要把mysql驱动mysql-connector-java-5.1.24-bin.jar放到%JAVA_HOME%\jre\lib\ext下
选择源库,输入数据文件名
点击Extract后列表里会生成jeewx.src,双击可单开查看,里边含有建表语句,主外键等
2、Convert
日期格式可以输入
Advanced Options
不要尝试在这里指定表空间,因为你指定了,他会去创建一个,再使用。
可以手动修改jeewx.db2文件指定表空间
语法:
CREATE TABLE JEEWX.TEST ( A CHAR(1) ) IN jeewx_data INDEX IN jeewx_idx;
使用UE正则替换
%)!$
替换为
)
IN jeewx_data
INDEX IN jeewx_idx!
点击Global Type Mapping可查看编辑类型映射,一般默认的就行
左侧的jeewx.src是源库的建表语句,右侧convert后生成的是目标库的建表语句jeewx.db2
双击jeewx.db2可查看编辑
3、Refine
可查看Convert的报告,要是有错误需要调整,警告和消息可以忽略。
4、Generate Data Transfer Scripts
Import是执行insert
load是从底层装载数据文件(效率高)
这个两个选那个都行,最后看选那个错误少,就用哪个。
点击Create Scripts后,右侧会生成一堆脚本
5、Deploy to target
可以导入到本地数据库,也可以导入到远程数据库(远程数据库也可以先编目到本地)
不要选择Use your system current user ID and password
输入用户名,密码,会导入到这个用户名对应的模式下(用户名和模式是同名的)
最下面的3个
1.建表结构,主外键等
第2次导,就把这项去了
2.抽取数据
3.导入数据
6、报告
上面的链接都可以点开,
下面的红色字体报错的也可以点开,查看日志,分析解决
如果有的表没导成功,可以清空后,手工执行insert
如weixin_texttemplate表content字段需要调大
truncate WEIXIN_TEXTTEMPLATE immediate;
修改TIMESTAMP默认值
ALTER TABLE WEIXIN_GROUP ALTER COLUMN ADDTIME SET WITH DEFAULT CURRENT_TIMESTAMP ; ALTER TABLE weixin_huodong ALTER COLUMN endtime SET WITH DEFAULT CURRENT_TIMESTAMP ;
部分报错的解决方法
The connection to the DB2 database jeewx failed.
[jcc][10389][12245][3.57.82] 装入本机库 db2jcct2, java.lang.UnsatisfiedLinkError: D:\Program Files\IBM\SQLLIB\BIN\db2jcct2.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform 时产生故障: ERRORCODE=-4472, SQLSTATE=null
用64位jdk
SQL3126N 远程客户机需要文件和目录的绝对路径。
1.改用db2move import命令导入
2.如果使用"db2 load from"的话load的数据文件一定要是db2远程服务器上的保存的文件才能load,否则会报错,"SQL3126N 远程客户机需要文件和目录的绝对路径"
而messages文件则是保存再本地的。
3.如果你想要load本地的数据文件到远程db2服务器,可以使用"db2 load client from",这样就可以把本地的数据文件load至远程服务器了。(这个没试过)
4.可以把数据文件拷贝的远程服务器上,再改变load时的文件路径
参考:
通过 IBM Migration Toolkit 支持把数据从 MySQL 迁移到 DB2 和 Informix Dynamic Server
http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0807patel/
使用 IBM DB2 Migration Toolkit 迁移数据
http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0411yip/
从 MySQL 或 PostgreSQL 迁移到 DB2 Express-C
http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0606khatri/
DB2与MySQL数据转移
http://www.shangxueba.com/jingyan/107360.html
相关推荐
IBM DB2 Migration Toolkit (MTK) 是一款强大的工具,它可以帮助用户轻松地将数据从其他数据库系统如 Oracle 和 SQL Server 迁移到 IBM DB2 Universal Database (UDB)。 #### 目标读者 本文主要针对那些正在考虑或...
**IBM Migration Toolkit** 是一款由IBM提供的专业数据迁移工具,旨在帮助用户轻松地在不同的数据库系统之间进行数据源迁移。这款工具支持多种数据库平台,包括SQL Server、MySQL、Oracle以及DB2,使得在这些数据库...
【IBM DB2 Migration Toolkit】是IBM提供的一款强大的数据库迁移工具,专为帮助用户从其他数据库系统,如Oracle、SQL Server等迁移到DB2数据库而设计。这个工具集旨在简化迁移过程,减少潜在风险,提高迁移效率,...
2. 支持的数据库源:MySQL Migration Toolkit能支持多种数据库系统,如Oracle、SQL Server、Access、DB2等,这使得它成为跨平台迁移的理想工具,可以方便地将数据从非MySQL环境迁移到MySQL环境中。 3. 数据类型映射...
MySQL Migration Toolkit是一款强大的数据库迁移工具,它为用户提供了将数据从其他数据库系统迁移到MySQL的便利。这款2.3版本的工具集成了多种功能,旨在简化数据库迁移过程,确保数据的完整性和一致性。 1. **简介...
这款工具能够帮助用户轻松地将数据从一个数据库系统迁移到另一个,比如MySQL、Oracle、SQL Server、Access以及DB2等。在数据库管理中,数据迁移是一个至关重要的任务,尤其在企业系统升级、数据库整合或云服务迁移时...
MySQL Migration Toolkit v2.3 数据库转换工具 MySQL Migration Toolkit 可以将任何数据源转换成mysql的数据,也可以将mysql的数据转换成其它类型的数据 MySQL Migration Toolkit 包括下列转换工具: Access-to-...
MySQL数据库移植工具(MySQL.Migration.Toolkit.v2.3)是一款专为数据库迁移设计的强大软件,主要功能在于实现不同数据库系统间的数据迁移,包括从其他数据库系统迁移到MySQL以及从MySQL迁移到其他数据库系统。...
一、数据库迁移——MySQL举例 1、解压 migration-4.1.4-2023-11-23.zip 2、打开 migration 工具 3、点击帮助菜单,可查看使用说明文档,如下图所示 二、迁移步骤: 1、新建组,随便起名。 2、数据库连接,新建 源库 ...
MySQL Migration Toolkit是一款强大的工具,专为数据库管理员和开发人员设计,用于方便地将各种数据源迁移到MySQL数据库。这款工具提供了图形用户界面(GUI),使得迁移过程更为直观和简便,大大降低了从其他数据库...
**ESF Database Migration Toolkit - Professional** 是一款专为数据库转换设计的强大工具,它为企业级用户提供高效、稳定且灵活的数据迁移解决方案。这款软件支持多种数据库系统,包括但不限于MySQL、Oracle、SQL ...
**ESF Database Migration Toolkit** 是一款专业的数据库迁移工具,主要用于帮助用户将数据从一个数据库系统迁移到另一个数据库系统。此工具支持多种数据库平台,包括但不限于MySQL、SQL Server、Oracle、PostgreSQL...
在这个示例中,`rss Toolkit 2.0` 被集成到 ASP.NET 应用程序中,展示了如何在服务器端处理和展示 RSS 内容。 3. **rssToolkit.dll**:这是一个用于处理 RSS 相关任务的库,可能包含解析 RSS feeds、创建新的 feeds...
### MySQL Migration Toolkit 使用详解 ...通过以上步骤,可以有效地利用 MySQL Migration Toolkit 实现从 Oracle 到 MySQL 的数据迁移。这不仅适用于 Oracle,对于其他数据库系统的迁移也具有参考价值。
**ESF Database Migration Toolkit Pro 8.2.07** 是一款专业的数据库迁移工具,专为需要在不同数据库系统间进行数据迁移的用户设计。它提供了高效、安全且灵活的数据转换解决方案,使得从一个数据库环境迁移到另一个...
使用MySQL Migration Toolkit数据迁移工具迁移SqlServer 2005精简版数据库到mysql数据库乱码的问题,使用ACCESS数据库编辑转换迁移
MySQL Migration Toolkit是一款由MySQL官方提供的免费工具,用于帮助用户轻松地将现有数据库迁移到MySQL。它可以支持多种源数据库类型,包括MS SQL Server,并提供了丰富的配置选项来适应各种不同的迁移场景。 ####...
工具名称:ESF_Database_ Migration_Toolkit_Professional!sqlserver数据迁移到oracle,oracle迁移到sqlserver亲测都可以,mysql应该也可以,其他的不太清楚