首页 > 开发 > 综合 > 正文

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

2024-07-21 02:33:49
字体:
来源:转载
供稿:网友
    我们有时候需要在本地数据库的存储过程中,或者在其他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;

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表