posts - 58,  comments - 121,  trackbacks - 30
<>连接远程的数据库(包括不同服务器)

数据库链接(
Database Link)与分布式数据库功能紧密相连。数据库链接允许用户处理远程数据库而不用知道数据是在什么地方。当建立了一个数据库链接之后,提供对远程数据的登录信息。每当使用数据库链接时,在分布式网络上初始化一个对话(Session),以解决对远程数据库对象的引用。

(
1)  先创建一个远程数据库的别名,用ORACLE8 NET EASY CONFIG,也在在文件TNSNAMES.ORA中加入以下格式内容:

别名.WORLD 
=

(DESCRIPTION 
=

    (ADDRESS 
= (PROTOCOL = NMP)(SERVER = 远程数据服务器名称)(PIPE = ORAPIPE))

(CONNECT_DATA 
= (SID = 远程数据库名称)))

(
2)  创建一数据库链接

语法:

CREATE OR REPLACE [public] DATABASE LINK connect_name

CONNECT 
TO username IDENTIFIED BY password

USING ‘connect_string’;

       创建数据库链接时具体使用的语法取决于下面两个条件:

n         数据库链接的“公共”或“私有”状态;

n         使用缺省还是显式方式登录远程数据库。

 

如果建立的数据库链接是公共所用,则在创建时应指明关键字 
PUBLIC;无此参数系统默认为私有;

可以为数据库链接指定用户和密码,如下:

create or replace database link db_link_1

connect 
to ‘scott’ identified by ‘tiger’

using ‘hq’

则在当前数据库创建了一个指向远程数据库”hq”的链接,连接时所用的用户名和密码为“tiger”;

如果不指定用户和密码,则在应用数据库链接,系统会使用当时的用户进行尝试连接,创建过程如下:

create or replace database link db_link_1

using ‘hq’

3)远程数据库对象的引用

创建数据库链接以后,在当前数据库就可以访问远程数据库中具有访问权限的对象,引用的方法为将数据库链接名称添加到任何可以访问远程帐号的表或视图上。当将数据库链接名称加添加到表或视图名称上时,必须在数据库链接名称之前使用一个“@”,如:

SELECT * FROM worker@remote_connect;

(
3)  使用同义词对远程对象进行访问

对于已创建了数据库链接的远程数据中对象,可以在本地数据库创建其同义词,达到在访问在逻辑上相当天本地数据库对象,使语法简洁,如下:

CREATE SYNONYM worker_syn

 
FOR worker@remote_connect;

创建后,对于远程数据库remote_connect的worker表的访问就可以变成如下:

select * from worker_syn;
posted on 2007-11-07 10:39 datasky 阅读(163) 评论(1)  编辑 收藏 网摘 所属分类: Oracle

FeedBack:
2008-01-25 14:37 | just [未注册用户]
楼主竟然还隐藏了一个“十”在这里,晕!
  回复  引用    

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-03-25 08:56 编辑过
Google站内搜索


China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!

相关文章:

相关链接:


 

欢迎加入Asp.net高手MSN群

  • asp.net.group#hotmail.com
  • asp.net_group#hotmail.com

与我联系

搜索

 

常用链接

留言簿

我管理的小组

我的标签

随笔分类(71)

相册

blogs链接

积分与排名

  • 积分 - 35317
  • 排名 - 1299

最新评论