远程连接对象又叫Database Link,简称DBLink,是数据库管理系统提供的用于访问外部数据库对象的机制。KingbaseES的DBLink是基于ODBC实现的,因此,要想使用DBLink访问远程数据库的对象,必须在本地安装访问远程数据库所需的ODBC驱动。目前,KingbaseES的DBLink只支持只读功能,可以访问的远程对象包括:表、视图。
人大金仓安装目录下,选中config文件下并进入,打开sys_dblink.conf文件,配置如下:
[kdb]
DriverType=ODBC
DriverName="KingbaseES 7 ODBC Driver"
Host=XX.XX.XX.43
Port=54321
dbname=REMOTE_DB
ExtendedProperties="UseServerCursor=1;Fetch=1000"
[kdb2]
DriverType=ODBC
DriverName="KingbaseES 7 ODBC Driver"
Host=XX.XX.XX.142
Port=54321
dbname=LOCAL_DB
ExtendedProperties="UseServerCursor=1;Fetch=1000"
本地数据库建立DBLINK
CREATE DATABASE LINK "SCHEMA"."DBLINK_OUT"
CONNECT TO "REMOTE_DB"
IDENTIFIED BY "REMOTE_DB_PASS"
USING "kdb";
远程数据库建立DBLINK
CREATE PUBLIC DATABASE LINK "SCHEMA"."DBLINK_IN"
CONNECT TO "LOCAL_DB"
IDENTIFIED BY "LOCAL_DB_PASS"
USING "kdb2";
参数说明如下
SCHEMA:数据库模式
DBLINK_IN:DNBLINK链接名
LOCAL_DB:目标数据库名
LOCAL_DB_PASS:目标数据库密码
kdb2:人大金仓安装目录下,选中config文件下并进入,sys_dblink.conf文件里对应
查询远程数据库tb_test表的测试语句如下:
select * from tb_test@DBLINK_OUT
注意:
删除远程连接对象,用户必须是DBLink的属主或者DBLink所在模式的属主或者数据库管理员,用户要具有DBLink所在模式的USAGE权限