Oracle、DB2 迁移至 MYSQL、PG 的 表的限制、数据类型映射关系,如何处理?

在 Oracle、DB2 到 MySQL的迁移过程中,大家主要关注应用层面的兼容问题。但是,数据类型的映射转换如何处理呢?我就拿简单的字符串数据类型举个例子吧: Oracle、DB2 与 MySQL,同样的 utf-8 编码格式,同样的表定义,都包含一个 数据类型 char(10) 的字段。 我要将 “一...显示全部

在 Oracle、DB2 到 MySQL的迁移过程中,大家主要关注应用层面的兼容问题。
但是,数据类型的映射转换如何处理呢?

我就拿简单的字符串数据类型举个例子吧:
Oracle、DB2 与 MySQL,同样的 utf-8 编码格式,同样的表定义,都包含一个 数据类型 char(10) 的字段。
我要将 “一二三四五上山打老虎” 这个字符串 insert 到这个字段,猜猜会发生什么?
您肯定会说  “一二三四五上山打老虎” 占了 30 byte ,肯定报错的。
但人家 MySQL的 char(10) 就是把这个含着“老虎”的字符串给“吃”了,  而只有 Oracle、DB2 抛出了类似 “ value is too long ”的错误。
为什么呢?因为 Oracle、DB2的 char(10) 最多只能接收 10 字节的字符串长度,而 MySQL 人家的 char(10) 的含义是可以存储 10个字符。
看到了吧,其实数据类型的不同之处,还是很值得大家关注的。

MySQL5.7 内置数据类型

DB2 10.1 内置数据类型

                                     

收起
参与15

查看其它 2 个回答庆功的回答

庆功庆功联合创始人六卫科技

@ThinkJ其实相对于DSG来说,我反而觉得HVR在数据同步复制PTsql 到Mysql更加合适。我说几个数据供参考:

hvr单个hub支持200条复制链路,每天10TB以上的增量数据复制;

数据实时进入kafka支持每秒最低10万条消集成进Kafka;

数据实时进入Greenplum支持每秒最低40万条数据导入;

IT咨询服务 · 2021-05-20
浏览1934

回答者

庆功
联合创始人六卫科技

庆功 最近回答过的问题

回答状态

  • 发布时间:2021-05-20
  • 关注会员:6 人
  • 回答浏览:1934
  • X社区推广