当前所在位置:珠峰网资料 >> 计算机 >> Oracle认证 >> 正文
在存储过程中连接远程数据库并进行操作
发布时间:2010/12/19 0:42:09 来源:城市学习网 编辑:ziteng

  我们有时候需要在本地数据库的存储过程中,或者在其他SQL语句中,要访问一个远程数据库,我们可以这样做...

  在存储过程中连接远程数据库并进行操作

  1. 查看远程数据库的相关数据

  SERVICE_NAME

  两种方式:

  第一种 more $ORACLE_HOME/network/admin/tnsname.ora

  一般是数据库的SID

  第二种 echo $ORACLE_SID

  2.修改本地数据库的

  vi $ORACLE_HOME/network/admin/tnsname.ora

  添加如下:

  DB.69LINK =

  (DESCRIPTION =

  (ADDRESS_LIST =

  (ADDRESS = (PROTOCOL = TCP)(HOST = 远程数据库地址hotname)(PORT = 1521))

  )

  (CONNECT_DATA =

  (SERVICE_NAME = 远程数据库的SERVICE_NAME)

  )

  )

  3.测试连接是否成功

  在本地数据库运行

  tnsping DB.69LINK

  如果成功,可以再使用:

  sqlplus username/password@DB.69LINK

  成功进入代表配置成功

  4.在本地数据库中创建远程连接

  create database link mylink connect to 用户名 identified by 密码 using 'DB.69LINK';

  运行如下,检查连接是否已经创建

  select * from user_db_links

  5.在存储过程中应用:

  CREATE OR REPLACE PROCEDURE remoteAccess AS

  TYPE t_ReadUser IS REF CURSOR;

  v_CursorVar1 t_ReadUser;

  DECOUNT NUMBER(18);

  Begin

  SELECT * FROM 表明@mylink;

  其他操作

  dbms_output.put_line('END');

  EXCEPTION

  WHEN OTHERS THEN

  dbms_output.put_line(SQLERRM);

  ROLLBACK;

  END;

  /

  SHOW ERRORS;

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved