远程连接Oracle数据库的方法很多,但是如果在本地数据库的存储过程中,要访问一个远程数据库,我们该怎么去做呢?其实只需要做如下配置即可连接成功。以下是在存储过程中连接远程数据库并进行操作的过程:
1.查看远程数据库的相关数据
SERVICE_NAME
两种方式:
***种more$ORACLE_HOME/network/admin/tnsname.ora
一般是数据库的SID
第二种echo$ORACLE_SID
2.修改本地数据库
修改本地数据库的vi$ORACLE_HOME/network/admin/tnsname.ora
添加如下:
- (DESCRIPTION=
- (ADDRESS_LIST=
- (ADDRESS=(PROTOCOL=TCP)(HOST=远程数据库地址hotname)(PORT=1521))
- )
- (CONNECT_DATA=
- (SERVICE_NAME=远程数据库的SERVICE_NAME)
- )
- )
3.测试连接是否成功
在本地数据库运行 tnspingDB.69LINK ,如果成功,可以再使用:sqlplus username/password@DB.69LINK ,成功进入代表配置成功。
4.在本地数据库中创建远程连接
createdatabaselinkmylinkconnectto用户名identifiedby密码using'DB.69LINK';
运行如下,检查连接是否已经创建:
select*fromuser_db_links。
5.在存储过程中应用:
- CREATEORREPLACEPROCEDUREremoteAccessAS
- TYPEt_ReadUserISREFCURSOR;
- v_CursorVar1t_ReadUser;
- DECOUNTNUMBER(18);
- Begin
- SELECT*FROM表明@mylink;
以上就是使用存储过程连接远程数据库的全部,更多远程数据库的连接问题在这里:http://database.51cto.com/art/201010/231338.htm。
【编辑推荐】