达梦通过DBLINK访问Oracle数据库有两种:
方式一:通过Oracle oci接口;
方式二:一种是通过ODBC数据源的方式。
本案例选择使用Oralce OCI的方式去访问Oracle数据库。
配置Oracle OCI客户端
下载地址:https://www.oracle.com/database/technologies/instant-client/downloads.html
oracle官网上下载对应数据库版本的intantclient包(11.2.0.4.0 版),包括basic、sdk、sqlplus三个包一起解压到同一个目录下,下载连接👇:
Basic Package(instantclient-basic) *必须
检查与配置动态库加载
确保DM数据库能够找到Oracle的OCI库。在Windows中,这通常涉及到设置PATH环境变量,包括Oracle Instant Client的目录。
将环境变量指向解压的客户端安装包,包含oci.dll.
E:\instantclient_11_2
如果配置中报错,可以尝试将解压的客户端里面的依赖,全部拷贝到达梦数据库安装的bin目录下。
配置DM数据库加载Oracle OCI驱动
确保DM数据库加载了Oracle的OCI驱动。如果DM DBLINK使用的是Oracle OCI方式创建,且报错为“DBLINK 加载库文件失败”,这可能是因为DM数据库尚未加载Oracle的OCI驱动。
重启DM数据库服务,确保数据库加载了Oracle OCI驱动。
创建DBLINK
1:在ORACLE中新建用户新建表,插入数据,用的工具是达梦的SQLark
注意:如果用户名密码错误,可能报错DBLINK连接丢失
create user cathy identified by cathy;
grant dba to cathy;
2:在达梦中创建外部链接:
确定ORACLE服务名的方式:
create link "LINKORA" connect 'oracle' with "CATHY" identified by "CATHY" using 'ORACLEO1';
测试:
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 12.021(ms)
SQL> select * from T1@linkora;
行号 NAME AGE SEX GRADE
---------- ---- ----------- --- -----------
1 丽丽 18 女 1000
已用时间: 0.555(毫秒). 执行号:5401.
SQL>