通过 IBM Migration Toolkit 的支持把数据从 MySQL 迁移到 DB2 和 Informix Dynamic Server

IBM Migration Toolkit提供从MySQL 4.x和5.x到DB2及Informix Dynamic Server的数据迁移支持,包括CREATE TABLE, CREATE INDEX, INSERT, ALTER TABLE, DROP TABLE, SELECT, DELETE和UPDATE等语句的转换。文章详细介绍了迁移过程,特别是CREATE TABLE语句的InnoDB和MyISAM引擎数据类型映射到DB2的过程。" 88756787,7842460,Kinect深度图像坐标到世界坐标的转换,"['Kinect', 'OpenNI', '3D坐标转换', '深度感知', '计算机视觉']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IBM® Migration Toolkit 增加了一些帮助把数据从 MySQL 迁移到 DB2® 或 Informix® Dynamic Server 的新功能。在本文中,学习如何使用这个工具集帮助迁移 DDL 和 DML 语句,了解如何映射数据类型。

MySQL 迁移支持

在 2007 年初,IBM Migration Toolkit 2.0.2.0(MTK)实现了对从 MySQL 4.x 和 5.x 迁移到 DB2 和 Informix Dynamic Server(IDS)目标的有限支持。后续的 MTK 版本改进了最初的支持。改进的支持包括迁移某些 DDL 和 DML 语句。

MTK 支持对以下 MySQL SQL 语句的完全转换:

  • CREATE TABLE 语句
  • CREATE INDEX 语句

MTK 还在很大程度上支持以下 MySQL SQL 语句:

  • INSERT 语句
  • ALTER TABLE 语句
  • DROP TABLE 语句
  • SELECT 语句
  • DELETE 语句
  • UPDATE 语句

在下面几节中,首先讨论在从 MySQL 迁移到 DB2 时如何利用 MTK 支持,然后讨论从 MySQL 迁移到 IDS 的情况。

第 1 部分:MySQL 到 DB2 迁移支持

从 MySQL 到 DB2 的迁移支持只适用于 DB2 Database for Linux®, UNIX® and Windows® Version 8.2 或更高版本,以及 DB2 Database for iSeries® V5R3 或 V5R4。本文主要关注针对 DB2 Database for Linux, UNIX and Windows 的 MTK 支持。

CREATE TABLE 语句

CREATE TABLE 语句支持包括对 MySQL InnoDB 引擎支持的所有语法进行转换。这包括数据类型映射、数据提取和在 DB2 中部署数据。MTK 还支持 MyISAM 引擎,这种引擎的语法是相似的。但是,不支持应用于 fhs MyISAM 引擎的空间类型。

表 1 解释了 MySQL 数据类型如何映射到 DB2 数据类型。还指出了特定数据类型的可选映射(用户可以用这种映射覆盖 MTK 选择的默认映射)。


表 1. 数据类型映射
MySQL 数据类型DB2 数据类型
TINYINTSMALLINT
SMALLINTSMALLINT
MEDIUMINTINTEGER
INTINTEGER
INTEGERINTEGER
BIGINTBIGINT
REALDOUBLE
DOUBLEDOUBLE
FLOATDOUBLE
DECIMAL(p,s)

其中:
s > 0 && p >= s
s > 0 && p < s
s < 0



DECIMAL(min(p,31), min(s,31))
DECIMAL(min(p,31), min(s,31))
DECIMAL(min(p,31),0)
NUMERIC(p,s)

其中:
s > 0 && p >= s
s > 0 && p < s
s < 0



DECIMAL(min(p,31), min(s,31))
DECIMAL(min(p,31), min(s,31))
DECIMAL(min(p,31),0)
TINYINT UNSIGNEDSMALLINT
SMALLINT UNSIGNEDINTEGER

可选: SMALLINT
MEDIUMINT UNSIGNEDINTEGER
INT UNSIGNEDBIGINT

可选: INTEGER
BIGINT UNSIGNEDDECIMAL(20,0)

可选: BIGINT
REAL UNSIGNEDDOUBLE

可选: DOUBLE
DOUBLE UNSIGNEDDECIMAL(p,s)
FLOAT UNSIGNEDDOUBLE
DECIMAL UNSIGNEDDECIMAL(p,s)
NUMERIC UNSIGNEDDECIMAL(p,s)
DATEDATE
TIMETIME
TIMESTAMPTIMESTAMP
DATETIMETIMESTAMP

可选: TIME
YEARCHAR(4)
CHAR(l)CHAR(l)

可选: VARCHAR
VARCHAR(l)VARCHAR(l)

可选: CLOB
TINYBLOBBLOB(255)
BLOBBLOB(65535)
MEDIUMBLOBBLOB(16777215)
LONGBLOBBLOB(2000000000)
TINYTEXTCLOB(255)
TEXTCLOB(65535)
MEDIUMTEXTCLOB(16777215)
LONGTEXTCLOB(2000000000)

清单 1a 和清单 1b 说明 MySQL 数据类型和 create table 语句如何转换为 DB2 语法:





本文转自IBM Developerworks中国

      请点击此处查看全文

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值