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

时间:2023-03-10 06:51:07
ORACLE 本地数据库存储过程 调用远程数据库存储过程

废话少说,直接切入主题 

步骤1:建立一个远程数据库的连接服务名 

D:\oracle\ora92\network\admin\tnsnames.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>