KingbaseES数据库通过dblink访问Oracle数据库
本文介绍如KingbaseES数据库通过dblink访问Oracle数据库。
源端:KingbaseES数据库(KingbaseES V008R006C006B0021)
目标端:Oracle数据库
一、配置Oracle的ODBC
1、安装odbc,若有odbc则不用进行安装
yum -y install unixODBC
2、确认修改文件路径
odbcinst -j unixODBC 2.3.1 DRIVERS............: /etc/odbcinst.ini SYSTEM DATA SOURCES: /etc/odbc.ini FILE DATA SOURCES..: /etc/ODBCDataSources USER DATA SOURCES..: /root/.odbc.ini SQLULEN Size.......: 8 SQLLEN Size........: 8 SQLSETPOSIROW Size.: 8
3、上传Oracle的ODBC驱动到KingbaseES服务器
cp libsqora.so.19.1 /home/kingbase/KingbaseES/V8/Server/lib chown -R kingbase:kingbase /home/kingbase/
4、配置驱动
vi /etc/odbcinst.ini [Oracle ODBC Driver] Description = ODBC for Oracle Driver = /home/kingbase/KingbaseES/V8/Server/lib/libsqora.so.19.1
二、oracle创建测试数据
create user demo identified by 123456;
grant dba to demo;
create table demo.test(id int);
insert into demo.test values(1);
commit;
SQL> select * from demo.test;
ID
----------
1
三、KingbaseES数据库创建dblink
1、修改环境变量
vim .bashrc export PATH=/home/kingbase/KingbaseES/V8/Server/bin:$PATH export LD_LIBRARY_PATH=/home/kingbase/KingbaseES/V8/Server/lib
2、修改KingbaseES数据库配置文件
将kdb_database_link 加入 shared_preload_libraries 中,注意 kdb_database_link 必须放在最后,因为,与其他项间有依赖关系。
shared_preload_libraries='...,kdb_database_link'
重启数据库
3、登录数据库创建插件
create extension kdb_database_link ; create extension oracle_fdw ;
4、登录数据库创建dblink
create public database link to_orcl_1 connect to 'demo' identified by '123456' using ( DriverName = 'Oracle ODBC Driver' , Host = '192.168.128.200' , Port = 1521 , Dbname = 'orcl' , Dbtype = 'oracle');
四、KingbaseES数据库使用dblink查询Oracle数据
test=# select version();
version
----------------------------------------------------------------------------------------------------------------------
KingbaseES V008R006C006B0021 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
(1 行记录)
test=# select * from test@to_orcl_1;
id
----
1
(1 行记录)
KingbaseES可以使用dblink访问Oracle数据库。

浙公网安备 33010602011771号