#CREATE DATABASE LINK

# 通用描述

CREATE DATABASE LINK语句用于创建一个数据库链接对象。本地当前用户通过数据库链接可以访问远程数据库中某用户的物理表数据。

根据数据库系统的结构,支持两种数据库链接:

  • 同构数据库链接:YashanDB与YashanDB的数据库链接
  • 异构数据库链接:YashanDB与Oracle的数据库链接,需要进行异构数据库链接配置

# 语句定义

create database link::=

syntax
CREATE PUBLIC DATABASE LINK dblink_name connect_clause USING connect_string

connect_clause::=

syntax
CONNECT TO username IDENTIFIED BY pwd_clause

pwd_clause::=

syntax
plaintext_password VALUES " ciphertext_password "

connect_string::=

syntax
database_type : url / db_name

database_type::=

syntax
YASHAN ORACLE MYSQL ODBC

# public

该语句建立一个公有数据库链接,对所有数据库用户可见。

创建公有数据库链接的用户须拥有CREATE PUBLIC DATABASE LINK系统权限,创建非公有数据库链接用户须拥有CREATE DATABASE LINK系统权限,否则返回错误。

示例

CREATE PUBLIC DATABASE LINK dblink_yashan;

该语句用于指定创建的数据库链接的名称,不可省略,且需符合YashanDB的对象命名规范

# username

该语句用于指定访问远端数据库的用户名。

# plaintext_password

该语句用于指定访问远端数据库的用户明文密码。

# ciphertext_password

该语句用于指定访问远端数据库的用户密文密码。

# url

该语句用于指定连接远程数据库使用的IP信息,例如192.168.1.2:1688。

# db_name

该语句用于指定远程数据库实例名称。

# database_type

该语句用于指定远程数据库系统或标准接口标签名,支持识别Yashan和Oracle。不指定标签名时默认为Yashan。

示例

-- YashanDB与YashanDB的数据库链接
CREATE DATABASE LINK dblink_yashan CONNECT TO REGRESS IDENTIFIED BY REGRESS USING '192.168.1.2:1688';

-- YashanDB与Oracle的数据库链接
CREATE DATABASE LINK dblink_oracle CONNECT TO C##REGRESS IDENTIFIED BY REGRESS USING 'oracle:192.168.1.2:1521/orcl';