异构服务提高Oracle连接数据源能力

2016-02-19 18:32 5 1 收藏

今天图老师小编给大家展示的是异构服务提高Oracle连接数据源能力,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

【 tulaoshi.com - 编程语言 】

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

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

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

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

程序运行效果截图

  异构服务

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  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部件是否安装,如果没有可以用相关的安装盘进行安装。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  2. 配置ODBC系统连接字。

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

  3.配置tnsnames.ora,它位于ORACLE_HOMENETWORKADMIN。

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

  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_HOMENETWORKADMIN。

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

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

  5. 重新启动Oracle listener。

  6. 编辑位于ORACLE_HOMEHSADMIN内init.ora,这里是iniths4sql。

  修改如下两行代码:

  HS_FDS_CONNECT_INFO=dnsora2sql| ODBC系统名
  HS_FDS_TRACE_LEVEL=0

  7. 创建DATABASE LINK。

  createdatabaselink‘ora2sql’connect
  tosql1identifiedbysql1using‘lnk2sql’;

  8. 测试连接。如:

  SQLselect*fromregion@ora2sql;

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

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

来源:https://www.tulaoshi.com/n/20160219/1618061.html

延伸阅读
标签: 软件教程
plsql developer是一款集成的开发系统,它主要是针对于Oracle数据库的存储进行开发,这款软件能充分的发挥出Oracle程序优势。下面小编为大家介绍一下plsql developer怎么连接数据库的 1、当打开PLSQL工具发现有三个文本框,但是您会发现如下第二张图与第一张图多了一个文本框,显示的是连接为.连接数据库需要几个参...
简介 众所周知,JDBC(Java数据库连接)是Java 2企业版的重要组成部分。它是基于SQL层的API。通过把SQL语句嵌入JDBC接口的方法中,用户可以通过Java程序执行几乎所有的数据库操作。JDBC只提供了接口,具体的类的实现要求数据库的设计者完成。 !-- frame contents --!-- /frame contents -- 通过生成这些接口的实例,...
标签: Web开发
我用一段原代码来向你解释如何利用JSP连接到数据库,使用起来非常简单,CUT然后PASTE,原代码中我给出了详细的注释。 !--首先导入一些必要的packages-- !--开始导入packages-- %@ page info="database handler"% %@ page import="java.io.*"% %@ page import="java.util.*"% %@ page import="java.sql.*"% %@...
一个程序连接数据库中间就需要有一个数据库连接引擎 笔者在使用Delphi的过程中,共使用过几种连接方式连接Access,SqlServer,Oracle,IBM UDB,IBM AS/400... 1.BDE     这是使用Delphi最多的一种方式,建立一个BDE别名可以在控制面板中的BDE Administration中添加,不过我习惯在SQL Explorer中建立,因为...
标签: ASP
  下面将简单介绍一下几种ADO连接方式:ODBC DSN,ODBC DSN-Less, OLE DB Provider,和"MS Remote" Provider. 1。ODBC DSN连接 I.DSN     oConn.Open "DSN=AdvWorks;" & _         "UID=Admin;" & _      ...

经验教程

649

收藏

60
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部