DB2到Oracle的SQL转换

DB2到Oracle的SQL转换,第1张

本篇记录项目中DB2的SQL转为Oracle时的不同之处:

1、Oracle没有DROP TABLE IF EXISTS

2、db2函数用returns [类型],Oracle用return [类型]

3、db2用DECLARE来申明变量,Oracle申明变量在as/is后面

4、db2用SET来赋值变量,Oracle用:=

5、db2用ELSEIF,oracle用ELSIF

6、Oracle中的coalesce函数(用来获取第一个不为空的值)里面的数据类型,必须全部都跟第一列的

数据类型一致

7、Oracle函数最后要加个END [函数名]

8、DB2为sysibm.dual,Oracle为dual

9、Oracle对象名不能超过30个字符

在oracle中,建立透明网关,连接到db2数据库中.

大概过程如下:

1、先安装对应的透明网关组件

2、initudb.ora-->inittest.ora,主要修改下面几个参数

DRDA_CONNECT_PARM=db2数据库ip:端口

DRDA_REMOTE_DB_NAME=test

HS_DB_NAME=test

3、listener.ora文件增加

(SID_DESC=

(SID_NAME=test)

(ORACLE_HOME = 设置为$ORACLE_HOME)

(PROGRAM=g4drsrv)

)

4、tnsnames.ora

gatewaydb2=

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = oracle数据库主机ip)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = test)

)

(HS = OK)

)

5、创建dblink和执行绑定包


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9983558.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存