`
luogen33
  • 浏览: 81006 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

dblink实现存储过程远程调用

 
阅读更多
步骤 :
1. --创建DBLink
create  public database link testLink
connect to l2108 identified by websms
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.137.17.98)(PORT = 1521)))
(CONNECT_DATA = (SERVICE_NAME = inomc)))';


2. --实现远程调用(查询远程表corpmember)

   select * from  corpmember@testLink;

   --实现存储过程远程调用(调用存储过程)
  
   --无参数的 存储过程
      proc_sync_corp@testLink;

    --有参数存储过程
     proc_sync_test(参数列表....)@testLink;


3. 关闭dblink.(每次连接使用后要记得关闭)

   dbms_session.close_database_link('dblink名字');



--------------------- 语法----------------------------------



1. 创建dblink需要相应的权限
a)如果该用户本来就是拥有dba权限的用户,则表示该用户也拥有了创建dblink的权限!
b)如果该用户只是个普通用户,则需要拥有创建dblink的权限才行:
用sys登录pl/sql grant CREATE DATABASE LINK to 用户名;


2.创建dblink的语法
  create database link dblink名connect to 用户名identified by 密码using '(DESCRIPTION =        (ADDRESS_LIST =        (ADDRESS = (PROTOCOL = TCP)(HOST = 远程IP)(PORT = 端口)))        (CONNECT_DATA = (SERVICE_NAME = 数据库名))        )';

说明: 这只是创建一个最最简单的dblink语法,一般情况下,足够你对远程机器上的进行增删改查了!


3. 关闭dblink.(每次连接使用后要记得关闭)

   dbms_session.close_database_link('dblink名字');



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics