问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何通过dblink调用存储过程

发布网友 发布时间:2022-05-06 19:35

我来回答

2个回答

懂视网 时间:2022-05-06 23:56

客户遇到个问题,描述如下:--环境是ORACLE 9.2.0.8 (语句及场景非真实了,网上找的,情况是一致的) 创建了一个DB_LINK连接另一个Oracle数据库。 select * from tablename@dblinkname; 单句执行没问题,但是把这句SQL写到存储过程内: create or replace p

客户遇到个问题,描述如下:--环境是ORACLE 9.2.0.8

(语句及场景非真实了,网上找的,情况是一致的)
创建了一个DB_LINK连接另一个Oracle数据库。 select * from tablename@dblinkname;

单句执行没问题,但是把这句SQL写到存储过程内:

create or replace procedure prc_test
is
begin
insert into test
select * from tablename@dblinkname;
commit;
end;
就发生如下错误,存储过程编译不通过:

Compilation errors for PROCEDURE prc_test

Error: PL/SQL: ORA-04052: 在查找远程对象 tablename@dblinkname 时出错
ORA-00604: 递归 SQL 层 1 出现错误
ORA-03106: 致命的双工通信协议错误
ORA-02063: 紧接着line(源于XXX(被连接的数据库服务名))
Line: 4
Text: insert into test

Error: PL/SQL: SQL Statement ignored
Line: 4
Text: insert into test
#########################################################

以下metalink上解决问题方法,打上对应的补丁即可

--这里我未打补丁,只是找出原因向客户说明而已。


Subject: Errors ORA-00604 And ORA-03106 During Procedure Compilation
Doc ID: 577347.1 Type: PROBLEM
Modified Date : 26-MAY-2008 Status: MODERATED


Applies to:
PL/SQL - Version: 9.2.0.4 to 9.2.0.8
This problem can occur on any platform.
This note applies only if the underlying Oracle Client is below 9.2.0.8 Patch 4


Symptoms
While trying to run pl/sql code involving queries which access remote objects, you may endup getting below errors:

PL/SQL: ORA-04052: error occurred when looking up remote object
ORA-00604: error occurred at recursive SQL level 1
ORA-03106: fatal two-task communication proto error
ORA-02063: preceding line from AFQ

When the same query is run outside pl/sql block it runs perfectly.

Cause
You are most probably hitting the Bug 5866805.
Bug 5866805 duplicate of Bug 5576340 which is itself a duplicate of Bug 5671074.


Solution
The Bug 5671074 IS fixed IN 9.2 .0 .8 Patch 4 OR above.

热心网友 时间:2022-05-06 21:04

以oracle为例来说明
1 建立dblink
CREATE DATABASE LINK dblink_53 CONNECT TO ecifpub IDENTIFIED BY ecifpub USING 'ECIFC53'
2、调用测试程序
I、调用含有commit的程序
begin
hi1.hi2@dblink_53(1);
end;
II、调用不含有commit的程序
begin
hi1.hi3@dblink_53;
commit;
end;

测试结果都正常,没报错,在表中hi都能查找到数据。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
热血江湖剑客怎么升级快些 三月份有哪些花开花 三月份有哪些花开花呢 三月什么花开的最旺盛呢 请问急性化脓性扁桃体炎期间可不可以食用巧克力? 扁桃体化脓吃什么消炎药 为什么扁桃体发炎或者化脓以后不能喝冷水或者吃辣的东西呢? 扁桃体化脓能吃冰淇淋吗 扁桃体化脓可以吃什么 炸酱面通常使用哪种面条? ...写一篇150词左右的英语短文。 Halloween(万圣节... 团泊湖板块目前适合投资吗? 静海团泊湖有什么别墅项目? 静海区有哪些在售别墅?具体情况是什么样的? 【金地长湖湾】属鼠的选择哪种朝向的房子最好? 天津金地长湖湾好不好? 金地长湖湾(别墅)怎么样?好不好?值不值得买? 【金地长湖湾】想买来给爸妈住,环境适合老年人吗? 关于诚信的名言警句(俗语、成语亦可)写出两条有关诚信的名言佳句? 金地长湖湾别墅在售什么情况? 金地长湖湾目前在售楼盘均价是多少? 天津金地长湖湾优劣势? 金地长湖湾别墅项目的在售情况是怎么样啊? 帮忙找下杭州的板块分布图,要详细的,要有田园板块、华丰板块、丁桥板块等 金地长湖湾这个楼盘怎么样? 金地长湖湾的别墅怎么样? 大江东板块属于杭州主城区户籍范围吗? 杭州上调新房限价 个别板块涨了2000元/平方米 杭州桥西版块指哪里?申花版块呢? 现在杭州的板块及历年的板块变化? 口水楼市杭州滨江板块申花板块蒋村板块以后发展哪个好一点 目前天津市别墅主要集中在哪几个区域? 语音导航好用吗? 开发商地产交付房子有小院,之后相关部门能拆除吗 金地长湖湾和中骏云景台的配套对比 有关诚信的名言有哪些 目前在团泊湖130万左右的别墅项目都有什么推荐? 有关信誉的名言警句 静海团泊东区在售的别墅项目有哪些? 团泊附近别墅都有哪些? 静海目前在售的别墅项目有哪些?具体楼盘价位大概情况是怎样的? 我现在有房没有房贷,但是还没有车,我觉得还是好丢人 今年20岁了还没有买上车是不是很丢人 在老公心里我还没有车重要。发生车 祸了,我没了行。车必须没事。这样的婚姻是不是没必要继续下去了? 长安二代55订了两个月了怎么还没有车,是什么原因? 我买车交了定金,现在一个月了,还没有车,销售员说月底和月初有车,现在还没有车,我不想要了,能退定金 30岁还没房没车,怎么办? 百度金融贷款利率是多少啊? 百度贷款利息 如何评价《人间小团圆》这部电影? 商业保险到底要不要买?