概述
DBLink功能实现了跨数据源访问的能力,用户可以在本地数据库上访问远端数据库。
使用说明
使用DBLink对远端数据库进行访问,有以下使用说明和注意事项。
支持访问的远端数据库类型如下:
- 虚谷数据库
- Oracle
- MySQL
- PostgreSQL
- 符合MS ODBC 3.X标准的其他异构库
支持复杂SQL中多个远程表的操作,如TPCH的24条语句。
支持虚谷数据库数据类型的查询与DML操作。
支持Prepare语句对DBLink查询进行预处理。
不支持对DBLink表进行DDL操作,如DROP TABLE,ALTER TABLE等操作。
不支持分区查询。
DML不支持Prepare参数化执行。
- 虚谷数据库本地没有对远程表进行缓存的功能。
注意:
在使用DBLink时,尽量使用ODBC标准包含的数据类型,并验证类型是否能正确映射。如果虚谷数据库与远程库之间的数据类型无法正确映射,那么将抛出用户异常,终止当前命令。
权限说明
创建DBLink时,指定PUBLIC,则创建对所有用户可见的公共数据库链接。如果省略,则创建私有数据库链接。
- 公共数据库链接:具有DBLink创建权限的用户,创建DBLink实例时,指定PUBLIC关键字,创建的DBLink实例为公有数据库链接,允许其它用户访问。
- 私有数据库链接:具有DBLink创建权限的用户,创建DBLink实例时,缺省PUBLIC关键字,创建DBLink实例为私有数据库链接,只允许当前创建DBLink的用户才能访问。
用户权限和公私有DBLink的关系说明:
用户权限 | 公有DBLink | 私有DBLink |
---|---|---|
普通无权限用户 | 不支持操作 | 不支持操作 |
仅有创建私有DBLink权限 | 不支持操作 | 支持创建和删除 |
仅有创建公有DBLink权限 | 支持创建,不支持删除 | 不支持操作 |
同时有创建私有公有DBLink权限 | 支持创建,不支持删除 | 支持创建和删除 |
仅有删除公有DBLink权限 | 不支持创建,支持删除 | 不支持操作 |