KingbaseES数据库通过dblink访问Oracle数据库

本文介绍如KingbaseES数据库通过dblink访问Oracle数据库。

源端:KingbaseES数据库(KingbaseES V008R006C006B0021)

目标端:Oracle数据库

一、配置Oracle的ODBC

1、安装odbc,若有odbc则不用进行安装

1
yum -y install unixODBC

2、确认修改文件路径

1
2
3
4
5
6
7
8
9
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服务器

1
2
cp libsqora.so.19.1 /home/kingbase/KingbaseES/V8/Server/lib
chown -R kingbase:kingbase /home/kingbase/

4、配置驱动

1
2
3
4
vi /etc/odbcinst.ini
[Oracle ODBC Driver]
Description = ODBC for Oracle
Driver = /home/kingbase/KingbaseES/V8/Server/lib/libsqora.so.19.1

二、oracle创建测试数据

1
2
3
4
5
6
7
8
9
10
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、修改环境变量

1
2
3
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、登录数据库创建插件

1
2
create extension kdb_database_link ;
create extension oracle_fdw ;

4、登录数据库创建dblink

1
2
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数据

1
2
3
4
5
6
7
8
9
10
11
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数据库。

posted @   happy0824  阅读(413)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示