Error: ORA-04052: 在查找远程对象 XSQD.V_BILL_CHANNEL_ATTR_TP_REL@DL_104 时出错

来源:互联网 发布:欧洲禁售燃油车 知乎 编辑:程序博客网 时间:2024/06/08 23:57

今天在远程数据库上写了个触发器,在本地进行编译测试,发现本地的其他问题也没有,就是出现了一个dblink的问题,问题信息如下:

Compilation errors for TRIGGER SCOTT.TR_AGENT_POINT

Error: ORA-04052: 在查找远程对象 XSQD.V_BILL_CHANNEL_ATTR_TP_REL@DL_104 时出错
       ORA-00604: 递归 SQL 级别 1 出现错误
       ORA-02019: 未找到远程数据库的连接说明
Line: 5

然后查看本地的dblink有如下信息:

 

触发器中的使用到dblink的部分如下:

select count(1) into vv_insert from xsqd.v_bill_channel_attr_tp_rel@dl_104 s where
       s.channel_id = :new.channel_id and s.st_id = '10A' and s.attr_tp_value_nm='计费渠道';

后来把dblink后面加个.linkage就可以了。

select count(1) into vv_insert from xsqd.v_bill_channel_attr_tp_rel@dl_104.linkage s where
       s.channel_id = :new.channel_id and s.st_id = '10A' and s.attr_tp_value_nm='计费渠道';

而在我远程数据库里面不用加这个东西。这与本地的数据库的配置有关。