本文介绍如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数据库。
标签:数据库,kingbase,dblink,test,Oracle,KingbaseES From: https://www.cnblogs.com/happy-0824/p/16932989.html