创建数据库 DB Link(数据库链接) 的方法取决于你使用的数据库类型。下面以 Oracle 和 PostgreSQL 为例说明,这是最常见的两种场景。
CREATE DATABASE LINK dblink_name
CONNECT TO remote_user IDENTIFIED BY remote_password
USING 'tns_service_name';
假设:
REMOTE_DBscotttigerCREATE DATABASE LINK remote_scott
CONNECT TO scott IDENTIFIED BY tiger
USING 'REMOTE_DB';
SELECT * FROM emp@remote_scott;
CREATE PUBLIC DATABASE LINK remote_scott
CONNECT TO scott IDENTIFIED BY tiger
USING 'REMOTE_DB';
-- 查看
SELECT * FROM dba_db_links;
-- 删除
DROP DATABASE LINK remote_scott;
-- 或
DROP PUBLIC DATABASE LINK remote_scott;
PostgreSQL 使用 dblink 扩展。
CREATE EXTENSION IF NOT EXISTS dblink;
SELECT *
FROM dblink(
'host=192.168.1.10 dbname=test user=postgres password=123456',
'SELECT id, name FROM users'
) AS t(id int, name text);
CREATE VIEW remote_users AS
SELECT *
FROM dblink(
'host=192.168.1.10 dbname=test user=postgres password=123456',
'SELECT id, name FROM users'
) AS t(id int, name text);
⚠️ MySQL 不支持 DB Link
常见替代方案:
CREATE DATABASE LINK 或 CREATE PUBLIC DATABASE LINK.pgpass| 数据库 | 是否支持 DB Link | 方式 |
|---|---|---|
| Oracle | ✅ 原生支持 | CREATE DATABASE LINK |
| PostgreSQL | ✅ 扩展支持 | dblink |
| MySQL | ❌ 不支持 | FEDERATED / 应用层 |
如果你能告诉我:
我可以给你一个完全贴合你场景的示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。