如何建立 Oracle 远程数据库连接?
Category: Oracle
下面是一个项目中的文档,大家可以参考理解一下,^_^
1.通过 pcAnywhere 登录到数据库服务器,打开 Net8 Assistant,添加服务命名,网络服务名:ora8,主机名:主机地址,(Oracle8 或更低版本)SID:ora8
2.打开 TOAD,执行下列 SQL:
create public database link ora8 connect to 用户名 identified by 密码 using 'ora8'
select * from flight_info_week
select * from v_jw_t7001
上面的 select 能查到数据就说明远程数据库连接创建成功了
53 Words ? 1 views ? 06-12-28 ? 17:06:39? 何志强
在存储过程中连接远程数据库并进行操作
Category: Oracle
我们有时候需要在本地数据库的存储过程中,或者在其他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
如果成功,可以再使用:
成功进入代表配置成功
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;
102 Words ? 1 views ? 06
(本文转载)