Oracle数据库迁移问题

记录一次数据库迁移问题

从Oracle数据库往MySQL数据库迁移数据及相关内容时,遇到的问题。

数据表的字段区别

用Navicat Premium工具进行数据迁移,迁移过程中,数据迁移出错,查看日志主要是某些表的字段在MySQL中不能被转换,主要体现在Oracle的CLOB字段。

  1. Oracle的CLOB字段对应MySQL的Text,但Navicat Premium工具不会迁移带有此字段的表及数据,需要手动建立对应的MySQL表结构,然后将数据导入 。
  2. Oracle的NUMBER在迁移时会被转化成Mysql的decimal类型,在Oracle中如果没有设置长度,转换后在MySQL中的字段长度会被赋予默认值并且小数位也有默认值
    3.Oracle的TIMESTAMP在迁移时被转化成Mysql的Datetime类型。
  3. Oracle的NVARCHAR2在迁移时被转化成MySQL的varchar类型,但是如果在Oracle的长度过大,在MySQL中直接被转换成text

视图迁移中的函数问题及其他问题

  1. Oracle中的nvl() 函数对应MySQL的 IFNULL函数。
  2. Oracle中的nvl2() 函数对应MySQL的 IF函数。
  3. Oracle中的to_char函数对应MySQL的 date_format函数。
  4. Oracle中的“ || ”可以连接字符串,但在MySQL中不可以,在MySQL中用 CONCAT() 函数来连接字符串。

参考:https://blog.csdn.net/lanmuhhh2015/article/details/97763615


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