You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从CBASE通过BBASE访问ABASE数据库?

问题场景

现有ABASE、BBASE、CBASE三个数据库,当前访问逻辑如下:

  • BBASE访问ABASE的语句:
    SELECT * FROM TABLE@ABASE_LINK
    
  • CBASE访问BBASE的语句:
    SELECT * FROM BBASE.table
    

尝试在CBASE中直接执行SELECT * FROM BBASE.TABLE@ABASE_LINK访问ABASE时,触发错误:

ORA-02019: connection description for remote database not found
02019. 00000 - "connection description for remote database not found"
*Cause: The referenced database link did not exist.
*Action: Create the database link before running the SQL statement.
Error at Line: 1 Column: 21


解决方案

方法1:在CBASE中直接创建指向ABASE的数据库链接

数据库链接是当前数据库的本地对象,无法跨库引用其他数据库的链接标识。因此可以直接在CBASE中创建连接ABASE的链接,之后即可直接访问:

-- 在CBASE中创建指向ABASE的数据库链接
CREATE DATABASE LINK ABASE_LINK 
CONNECT TO 你的ABASE用户名 
IDENTIFIED BY 你的ABASE密码 
USING 'ABASE的数据库连接字符串';

-- 直接访问ABASE的表
SELECT * FROM TABLE@ABASE_LINK;

方法2:通过BBASE的同义词/视图间接访问

如果不想在CBASE中直接创建链接,可以在BBASE中对ABASE的表创建同义词或视图,让CBASE通过BBASE间接访问:

-- 在BBASE中创建指向ABASE表的同义词
CREATE SYNONYM ABASE_TABLE FOR TABLE@ABASE_LINK;

-- 或者创建视图(如需过滤字段更适用)
CREATE VIEW ABASE_TABLE_VIEW AS SELECT * FROM TABLE@ABASE_LINK;

之后在CBASE中即可通过BBASE访问ABASE的数据:

-- 访问同义词
SELECT * FROM BBASE.ABASE_TABLE;

-- 或者访问视图
SELECT * FROM BBASE.ABASE_TABLE_VIEW;

内容的提问来源于stack exchange,提问作者JurajC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 09:10:20