ORACLE 本地数据库存储过程 调用远程数据库存储过程




废话少说,直接切入主题 
步骤1:建立一个远程数据库的连接服务名 
D:oracleora92 etworkadmin nsnames.ora 添加如下代码: 
SDEC =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.254)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = DEC)
    )
  )


步骤2:本地数据库建立一个db link 
  CREATE PUBLIC DATABASE LINK doko CONNECT TO gz IDENTIFIED BY GZ USING 'SDEC';


ps:这里的SDEC 就是上面配置的服务名 


步骤3:编写远程数据库写个测试的存储过程 
create or replace procedure test(a in integer,b out integer) is
begin
  b:=a+1000;
end test;


步骤4:编写本地数据库的存储过程 
create or replace procedure test2 is
p integer;
begin
  test@doko(1,p);
  dbms_output.put_line('p='||p); 
end test2;


步骤5:本地测试存储过程 
SQL> set serveroutput on
SQL> exec test2;
 
p=1001
 
PL/SQL procedure successfully completed
 
SQL> 
原文地址:https://www.cnblogs.com/baiduligang/p/4247276.html