龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

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

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
远程连接 Oracle数据库 的方法很多,但是如果在本地数据库的 存储过程 中,要访问一个 远程数据库 ,我们该怎么去做呢?其实只需要做如下配置即可连接成功。以下是在存储过程中连

远程连接Oracle数据库的方法很多,但是如果在本地数据库的存储过程中,要访问一个远程数据库,我们该怎么去做呢?其实只需要做如下配置即可连接成功。以下是在存储过程中连接远程数据库并进行操作的过程:

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

SERVICE_NAME

两种方式:

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

一般是数据库的SID

第二种echo$ORACLE_SID

2.修改本地数据库

修改本地数据库的vi$ORACLE_HOME/network/admin/tnsname.ora

添加如下:

  1. (DESCRIPTION=  
  2.  
  3. (ADDRESS_LIST=  
  4.  
  5. (ADDRESS=(PROTOCOL=TCP)(HOST=远程数据库地址hotname)(PORT=1521))  
  6.  
  7. )  
  8.  
  9. (CONNECT_DATA=  
  10.  
  11. (SERVICE_NAME=远程数据库的SERVICE_NAME)  
  12.  
  13. )  
  14.  

3.测试连接是否成功

在本地数据库运行 tnspingDB.69LINK ,如果成功,可以再使用:sqlplus  username/password@DB.69LINK ,成功进入代表配置成功。

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

createdatabaselinkmylinkconnectto用户名identifiedby密码using'DB.69LINK';

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

select*fromuser_db_links。

5.在存储过程中应用:

  1. CREATEORREPLACEPROCEDUREremoteAccessAS  
  2.  
  3. TYPEt_ReadUserISREFCURSOR;  
  4.  
  5. v_CursorVar1t_ReadUser;  
  6.  
  7. DECOUNTNUMBER(18);  
  8.  
  9. Begin  
  10.  
  11. SELECT*FROM表明@mylink; 

以上就是使用存储过程连接远程数据库的全部,更多远程数据库的连接问题在这里:http://database.51cto.com/art/201010/231338.htm

精彩图集

赞助商链接