网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.TURBOLinux 7.0下安装Oracle 8.1.
.ORACLE问题,每天10问(九).
.[转贴]ORACLE表空间恢复方案.
.有时Oracle不用索引来查找数据的.
.Oracle 9.2.0.1在hpux下的安装过.
.利用Oracle rownum完成行转列一例.
.WIN2000下ORACLE计划任务自动备份.
.构建高性能Oracle运行系统的原则.
.Linux下架设FTP.
.ORACLE备份&恢复案例--ORACLE BA.
.数据库完整性设计.
.通过JDBC连接oracle数据库.
.ORACLE常用傻瓜問題1000問(之十二.
.Oracle数据库技术(33).
.Oracle DBA创建数据库试题精选.
.ExactPapers Oracle 1Z0-033 200.
.oracle 中的数据结构.
.关于如何理解Explain Plan的输出.
.Oracle 数据库向 MS SQL Server .
.Oracle有关Linux常见问题的详细解.

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

发表日期:2008-2-9


程序运行效果截图:
  
在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数据库连接异种数据源的能力,加强了企业数据的整合,是一个快速有效经济地整合企业内部异构数据的解决方案。      

上一篇:JDBC存取Oralce数据库的注意几点事项 人气:1298
下一篇:不同平台的数据库异步I/O的使用 人气:865
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐