提问人:Chezar 提问时间:11/5/2023 最后编辑:Chezar 更新时间:11/5/2023 访问量:41
尝试使用 dblink 进行连接
trying to connect using dblink
问:
我可以使用dblink从服务器MDC连接到服务器DPS吗 所以我已经创建了从 MDC 到 JKT、JKT 到 DPS 以及 DPS 到 JKT 的 dblink
我已经尝试了这种语法: 选择 * 从 (select * from [email protected];)@XE.JKT.ID.ORACLE.COM;
但我收到一个错误
ORA-00907:缺少右括号
00907. 00000 - “缺少右括号”
*原因: *操作:
行错误:25 列:56
答:
0赞
Littlefoot
11/5/2023
#1
这是同一个网络,不是吗?如果是这样,您可以创建从 DPS 到 MDC 的直接数据库链接。
如果 DPS 和 MDC 中涉及的数据库不“兼容”,则需要一个“桥接”(例如,数据库版本差异太大,无法建立直接连接)。像这样的东西(请注意,以下示例仅用于说明目的。也许我使用了错误的数据库版本,但这只是为了让您了解我在说什么):您在 MDC 上运行 Oracle 12c,在 DPS 上运行旧的 Oracle 8i;那么你需要运行 10g 的 JKT,并且能够与 8i 和 12c 通信。
至于你使用的语法:恐怕这是行不通的——你不能像那样“嵌入”查询。至于你得到的错误,它是关于分号的:
select *
from (select *
from [email protected]; <-- this semi-colon
)@XE.JKT.ID.ORACLE.COM;
如果确实需要介于两者之间的 JKT,请在该架构中创建一个视图(视图从位于 DPS 数据库中的表中选择数据):salary
-- this is on JKT database
create or replace view v_salary as
select * from [email protected];
然后从 MDC 访问它:
-- this is on MDC database
select *
from [email protected]
评论
0赞
Chezar
11/5/2023
我在所有数据库 (11g) 上使用相同的版本,并且它们都在同一网络上。这是我的课程作业,所以我担心我可能无法在 MDC 和 DPS 之间创建 dblink,因为它与拓扑不匹配。
评论