学院首页 软件应用 编程开发 创意设计 认证培训 软件论坛
ASP ASP.NET PHP JSP SQL MYSQL Java VB

您的位置:学院 >> 编程开发 >> Oracle >> 在Oracle数据库中连接异种数据源


在Oracle数据库中连接异种数据源


由于历史的原因,在多数企业都同时存在多个数据库平台,在每个数据库平台上都运行着相关的一套或多套应用。随着单位业务不断扩大,如何在不影响现有应用运行的前提下,快速有效地整合这些分布在单位内部不同数据库平台上的数据,是一个困扰CIO们的问题。面对这一问题,现有解决方案大致可分为以下两种:

1.在应用程序上建立连接不同数据源的数据连接,这样做要求程序员分清哪个连接是对应哪个数据库的,而且如果设计时涉及到存储过程还要按照不同数据库的要求分别编写,加重了程序员的要求。

2.在数据库中设立快照,定时把其他数据源的数据复制到本地数据库,这样虽然解决了前一种方法中不同数据源的问题,但是由于是定时复制,数据不能实时同步,在实时性要求高的应用中这种方法便不能使用。

由于上述两种方法都存在一定的缺点,这里介绍一种Oracle提供的解决oracle数据库与异种数据源的连接问题的解决方案—Oracle的异构服务(Heterogeneous Services)。

程序运行效果截图:

  

异构服务

“异构服务”是集成在Oracle 8i数据库软件中的功能,它提供了从Oracle数据库访问其他非Oracle数据库的通用技术。熟悉Oracle的读者都很清楚,Oracle提供通过建立DB Link的方法访问非本地数据库,而“异构服务”提供通过建立DB Link使你能够执行Oracle SQL查询,透明地访问其他非Oracle数据库里的数据,就像访问Oracle远程数据库一样。“异构服务”分为两种:

1. 事务处理服务(Transation Service):通过事务处理服务,使用户在访问非Oracle数据库中支持事务处理功能。

2. SQL服务: 通过SQL服务,使用户直接在Oracle数据库中执行对非Oracle数据库的各种SQL语句。

根据异构服务代理程序的不同,“异构服务”连接方式可以分为透明网关和通用连接两种。

透明网关(Transparent Gateways) 透明网关使用Oracle提供的特定网关程序来设置代理,例如连接SQL Server则必须要有SQL Transparent Gateway for SQL Server。

通用连接(Generic Connectivity) 通用连接又分为ODBC连接和OLE DB连接两种,其连接方法和透明网关没有本质区别,只不过通用连接是和数据库一起提供的功能,你不需要向Oracle购买相关的透明网关程序。

连接实例

这个实例的应用环境是Oracle 8.1.7,操作系统Windows 2000 Server英文版,采用通用连接的ODBC for SQL Server连接SQL Server 2000中文版。安装步骤如下:

1. 安装HS部件。

缺省情况下,HS服务是和Oracle 8.1.7一起安装的,你可以查询SYS用户下是否存在HS_BASE_CAPS视图,以确认HS部件是否安装,如果没有可以用相关的安装盘进行安装。

2. 配置ODBC系统连接字。

在控制面板选择“Data Sources (ODBC)”,在“系统DNS”内配置ODBC for SQL Server连接字(dnsora2sql)。

3.配置tnsnames.ora,它位于ORACLE_HOME\NETWORK\ADMIN。

在这个文件中增加如下代码:

  
  Lnk2sql = 
  
  (DESCRIPTION = 
  
  (ADDRESS_LIST = 
  
  (ADDRESS = (PROTOCOL = TCP)(HOST = HOSTNAME)(PORT = 1521))) 
  
  (CONNECT_DATA = 
  
  (SID = hs4sql) |< 服务的SID名称,要和Listener里配置的sid相同) 
  
  (HS=OK) |< 打开HS服务选项 
  
  )
  

4.配置listener.ora,它位于ORACLE_HOME\NETWORK\ADMIN。

在这个文件中增加如下代码:

  
  SID_LIST_LISTENER = 
  
  (SID_LIST = 
  
  (SID_DESC = 
  
  (SID_NAME = hs4sql) |< 服务的SID名称,与tnsname名称相对应 
  
  (ORACLE_HOME = C:\oracle\ora9201) 
  
  (PROGRAM = hsodbc) |< 要使用的HS服务程序,如果使用OLE DB,程序名为hsole ) 
  
  )
  

5. 重新启动Oracle listener。

6. 编辑位于ORACLE_HOME\HS\ADMIN内init.ora,这里是iniths4sql。

修改如下两行代码:

  
  HS_FDS_CONNECT_INFO = dnsora2sql |< ODBC系统名 
  
  HS_FDS_TRACE_LEVEL = 0
 

7. 创建DATABASE LINK。

  
  create database link ‘ora2sql’ connect 
    to sql1 identified by sql1 using ‘lnk2sql’;
  

8. 测试连接。如:

  
  SQL> select * from region@ora2sql;
  

到此我们已经完成了使用ODBC连接SQL SERVER的配置工作。

总体上说,异构服务扩展了Oracle数据库连接异种数据源的能力,加强了企业数据的整合,是一个快速有效经济地整合企业内部异构数据的解决方案。

技术文章快速查找

栏目导航
软件应用
·操作系统 ·杀毒防黑 ·应用软件
·聊天软件 ·网络软件  
Web开发
·ASP ·JavaScript ·CGI
·JSP ·VbScript ·Web服务器
·PHP ·XML  
开发语言
·VB ·VC ·ASP.NET
·Java ·C/C++ ·Delphi
数据库开发
·MySQL ·SQL/Access ·PowerBuilder
·Oracle ·DB2  
网站设计
·Flash ·Dreamweaver ·HTML/CSS
·Fireworks ·FrontPage  
平面设计
·Photoshop ·CorelDraw ·AutoCAD
·FreeHand ·Illustrator ·3DsMAX
媒体动画
·Director ·Authorware ·Maya
·视频处理    


相关软件 产品库推荐
·笔记本 ·台式机 ·服务器
·数码相机 ·手机 ·GPS
·DV摄像机 ·MP3 ·MP4
·CPU ·硬盘 ·内存
·主板 ·显卡 ·显示器
·打印机 ·投影机 ·路由器

还没人留言,抢个先,哈哈!
对"在Oracle数据库中连接异种数据源"的评论 - 快速回贴
内容:
  [完成后可按Ctrl+Enter发布]

百度中 在Oracle数据库中连接异种数据源 相关内容
Google搜索中 在Oracle数据库中连接异种数据源 相关内容
雅虎中 在Oracle数据库中连接异种数据源 相关内容
Sogou搜索中 在Oracle数据库中连接异种数据源 相关内容

相关软件 最新回复帖子:

·Windows Vista 中卸载软件的不同方式
·没有mysql支持时的替代方案
·一个可以发送附件及HTML格式邮件的PHP类
·AutoCAD打造精致三维鸟笼实例详解
·Photoshop自定义水晶字特效样式
·AutoCAD三维基础实例教程
·PS为黑背景长发美女照片抠图换背
·用Photoshop自制个性摩托车贴花小经验
·轻松几步将美女照片处理为手工素描
·巧用Photoshop画笔轻松绘制创意特效


  相关软件 在Oracle数据库中连接异种数据源相关文章
管理Oracle OLAP时清除通往OLAP的障碍 Oracle9i新特性之数据库监控系列详解
在Oracle/2000中调用Windows API函数 开发基于Oracle数据库的管理信息系统
Oracle数据库最大可用性体系结构 Oracle协作套件:完全集成数据库
Oracle使用新List分割方法提高灵活性 Oracle、IBM、BEA服务器测试和比较
构建用于位置信息开放标准的Portlet 关于Oracle数据库中的锁机制深入研究
关于Oracle和SQL存储调试和出错处理 Oracle数据库中临时表的深入研究
Oracle快速删除数据字典管理的表空间 借助Oracle存储过程实现定期分割表
Oracle归档模式的命令及参数说明 Oracle Spatial数据加密问题的研究
一个容易忽视的Oracle数据安全问题 从Oracle到SQL Server-SQL智能翻译器
Oracle数据库异地自动备份方法介绍 高手的Oracle大批量删除数据的方法