Oracle、DB2 与 MySQL、PG 的 SQL语法有很多不兼容的地方,有什么工具可以完成 SQL的转换吗?

Oracle、DB2传统关系型数据库的 SQL语法 与 MySQL、PG 有很多不兼容的地方。
例如:实现字符拼接的 SQL
Oracle、DB2:
select name || ' is work at '  ||  dept  from employee where empid=10;

而 MySQL:
select concat ( name,  ' is work at ', dept )   from employee where empid=10;

有什么工具可以完成 SQL的自动转换吗?

参与14

3同行回答

ThinkJThinkJ技术经理信泰人寿保险股份有限公司
要完全兼容Oracle的语法是一件非常困难的事,目前业内兼容Oracle做的比较好的应该是EDB了,阿里云号称兼容Oracle的PPAS实际上就是EDB,DB2的Oracle兼容也是EDB提供的技术,但是从我们实际的测试来看,也还是有很多不尽如人意的地方。所以想完全实现自动转换,基本上没这个可能。不过...显示全部

要完全兼容Oracle的语法是一件非常困难的事,目前业内兼容Oracle做的比较好的应该是EDB了,阿里云号称兼容Oracle的PPAS实际上就是EDB,DB2的Oracle兼容也是EDB提供的技术,但是从我们实际的测试来看,也还是有很多不尽如人意的地方。所以想完全实现自动转换,基本上没这个可能。不过部分的兼容是可能的,如果是PostgreSQL体系,可以使用诸如orafce这样的插件,还有ora2pg这样的工具,可以实现类型的自动映射,以及存储过程代码部分自动转换,而且ora2pg是perl编写的,很容易实现定制化。

收起
保险 · 2020-08-13
浏览4818
  • EDB 的确是个好动西,之前用过 MKT,迁移 Oracle 到 DB2 的神器。不过,现在好刀要用在他们自己身上了 O(∩_∩)O哈哈哈~
    2020-08-14
  • 最好全部封锁,这样我们就有机会崛起了,哈哈
    2020-08-14
匿名用户匿名用户
各个厂商都有自己的特点,要是统一兼容,那oracle肯定不愿意的,小长家那是会乐死。踩着巨人肩膀上看。打铁还需要自身硬,什么时候抢占更多的oracle占有率,才能带来国产更好的发展,维护也会更偏向于中国化。...显示全部

各个厂商都有自己的特点,要是统一兼容,那oracle肯定不愿意的,小长家那是会乐死。踩着巨人肩膀上看。

打铁还需要自身硬,什么时候抢占更多的oracle占有率,才能带来国产更好的发展,维护也会更偏向于中国化。

收起
系统集成 · 2021-01-20
浏览2254
zymh_zyzymh_zyIT顾问国内某公司
好问题,我也想问同类的问题,就是异构的数据库有什么好的转换工具,减少迁移的时间和后期手工调整SQL的时间?显示全部

好问题,我也想问同类的问题,就是异构的数据库有什么好的转换工具,减少迁移的时间和后期手工调整SQL的时间?

收起
IT咨询服务 · 2020-08-13
浏览4545
  • Oracle 迁移到 DB2,IBM就有类似的工具,实在无法转换,还可以直接启用 DB2 的兼容特性,直接兼容 Oracle的语法。
    2020-08-13

提问者

atpeace331
数据库管理员银行

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2020-08-13
  • 关注会员:5 人
  • 问题浏览:6517
  • 最近回答:2021-01-20
  • X社区推广