oracle 尝试使用dblink连接

zpgglvta  于 2023-11-17  发布在  Oracle
关注(0)|答案(1)|浏览(117)

我可以使用dblink从服务器MDC连接到服务器DPS,所以我已经创建了从MDC到JKT,JKT到DPS和DPS到JKT的dblink
dblink image
我已经尝试过这种语法:select * from(select * from email protected(https://stackoverflow.com/cdn-cgi/l/email-protection);)@XE.JKT.ID.ORACLE.COM;
但是我得到一个错误ORA-00907:missing right parenthesis 00907. 00000 -“missing right parenthesis”* 原因:

  • 操作:错误行:25列:56
wvt8vs2t

wvt8vs2t1#

这是同一个网络,不是吗?如果是这样,您可以创建从DPS到MDC的直接数据库链接。
如果DPS和MDC中涉及的数据库不“兼容”,例如,数据库版本差异太大,无法建立直接连接,则需要一个“桥梁”。(注意,下面的例子只是为了说明的目的。也许我使用了错误的数据库版本,但这只是为了让你明白我在说什么):你在MDC上运行Oracle 12 c,在DPS上运行旧的Oracle 8i;那么你需要运行10 g并且能够与8i和12 c通信的JKT。
至于你使用的语法:恐怕不行-你不能像那样“嵌入”查询。至于你得到的错误,它是关于分号的:

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]

相关问题