首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >YashanDB 知识库|跨库访问不求人!手把手教你用 DBLink 玩转多库联动

YashanDB 知识库|跨库访问不求人!手把手教你用 DBLink 玩转多库联动

原创
作者头像
数据库砖家
发布2025-04-25 20:47:20
发布2025-04-25 20:47:20
2280
举报

今天来分享一个非常实用的特性:YashanDB 的 DBLink 技术。无论是要跨多个 YashanDB 实例访问数据,还是要对接 Oracle 数据库,DBLink 都能帮你轻松搞定。整个过程无需改动应用逻辑,就能在 SQL 层实现跨库查询、更新和写入,真正做到“数据无缝流转”。

一、什么是 DBLink?

我们在日常业务开发中,经常会遇到这样的需求:某些数据分布在不同数据库实例中,但我们又需要统一查询或者更新它们。常见的做法有两种:

第一种,是在应用层分别连接多个数据库,把数据抓回来再做处理。这种方式灵活,但代码维护麻烦、效率也不高。

第二种,则是数据库本身提供跨库访问能力,比如 Oracle 的 DBLink。这种方式优势明显,数据库之间直接协作,性能和维护性都更好。

YashanDB 现在也支持类似的 DBLink 特性,让你一条 SQL 就能搞定跨库操作。

二、YashanDB DBLink 的基本用法

以一套典型的测试环境为例:

代码语言:javascript
复制
YashanDB 实例 1:192.168.23.53:3688
YashanDB 实例 2:192.168.23.53:5688
Oracle 实例:192.168.33.174:1521

创建用户和授权

先在本地实例中创建一个用于 DBLink 的账号:

代码语言:javascript
复制
create user test identified by yasdb_123 default tablespace users; grant CREATE DATABASE LINK to test;
  • 创建 YashanDB → YashanDB 的 DBLink
代码语言:javascript
复制
create database link dblink_yashan
connect to test identified by yasdb_123
using '192.168.23.53:5688';

三、跨库查询和写入演示

查询远程 YashanDB 表的数据:

代码语言:javascript
复制
select * from t1@dblink_yashan;

向远程表插入数据:

代码语言:javascript
复制
insert into t1@dblink_yashan values (...);

支持多条插入、更新、删除等操作:

代码语言:javascript
复制
update t1@dblink_yashan set x1='updated';
delete from t1@dblink_yashan where a1=73;

四、连接 Oracle 也很轻松

创建 DBLink 连接到 Oracle 实例:

代码语言:javascript
复制
create database link dblink_oracle
connect to test identified by 123456
using 'oracle:192.168.33.174/orcl';

查询 Oracle 表:

代码语言:javascript
复制
select * from t1@dblink_oracle;

联合查询 Oracle 与 YashanDB 表:

代码语言:javascript
复制
select o1.a1, o1.b1, o1.c1, y1.d1, y1.e1, y1.x1
from t1@dblink_oracle o1, t1@dblink_yashan y1
where o1.a1 = y1.a1;

插入、更新、删除 Oracle 表数据:

代码语言:javascript
复制
insert into t1@dblink_oracle values (...);
update t1@dblink_oracle set x1='updated';
delete from t1@dblink_oracle where a1=73;

五、总结

通过 DBLink,YashanDB 可以非常方便地访问远程数据库的数据,无论目标是另一个 YashanDB 实例还是 Oracle,都能做到“像查本地表一样查远程表”。对于需要做数据整合、数据同步、异构数据源联动的场景,非常实用。

YashanDB 的这项能力不仅增强了其数据联通性,也为跨库架构设计提供了极大的灵活性。期待你在更多业务中用上 DBLink,实现真正的无缝数据协同!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、什么是 DBLink?
  • 二、YashanDB DBLink 的基本用法
  • 三、跨库查询和写入演示
  • 查询远程 YashanDB 表的数据:
  • 向远程表插入数据:
  • 四、连接 Oracle 也很轻松
  • 创建 DBLink 连接到 Oracle 实例:
  • 查询 Oracle 表:
  • 联合查询 Oracle 与 YashanDB 表:
  • 插入、更新、删除 Oracle 表数据:
  • 五、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档