知识大全 用Oracle的异构服务连接异种数据源

Posted 数据库

篇首语:少而好学,如日出之阳;壮而好学,如日中之光;老而好学,如炳烛之明。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用Oracle的异构服务连接异种数据源相关的知识,希望对你有一定的参考价值。

用Oracle的异构服务连接异种数据源  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

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

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

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

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

  

> 

  

>

  异构服务

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

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

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

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

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

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

  连接实例

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

   . 安装HS部件

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

   . 配置ODBC系统连接字

  在控制面板选择 Data Sources (ODBC) 在 系统DNS 内配置ODBC for SQL Server连接字(dnsora sql)

   .配置tnsnames ora 它位于ORACLE_HOME\\NEORK\\ADMIN

  在这个文件中增加如下代码     Lnk sql =     (DESCRIPTION =     (ADDRESS_LIST =     (ADDRESS = (PROTOCOL = TCP)(HOST = HOSTNAME)(PORT = )))     (CONNECT_DATA =     (SID = hs sql) |< 服务的SID名称 要和Listener里配置的sid相同)     (HS=OK) |< 打开HS服务选项     )    .配置listener ora 它位于ORACLE_HOME\\NEORK\\ADMIN

  在这个文件中增加如下代码    SID_LIST_LISTENER =     (SID_LIST =     (SID_DESC =     (SID_NAME = hs sql) |< 服务的SID名称 与tnsname名称相对应     (ORACLE_HOME = C:\\oracle\\ora )     (PROGRAM = hsodbc) |< 要使用的HS服务程序 如果使用OLE DB 程序名为hsole )     )  . 重新启动Oracle listener

   . 编辑位于ORACLE_HOME\\HS\\ADMIN内init ora 这里是iniths sql

  修改如下两行代码     HS_FDS_CONNECT_INFO = dnsora sql |< ODBC系统名     HS_FDS_TRACE_LEVEL =   . 创建DATABASE LINK     create database link ora sql connect     to sql identified by sql using lnk sql ;   . 测试连接 如     SQL> select * from region@ora sql;  到此我们已经完成了使用ODBC连接SQL SERVER的配置工作

cha138/Article/program/Oracle/201311/16960

相关参考

知识大全 oracle的共享连接和专用连接方式之初探

在专用连接方式中每一个连接到数据库服务器的客户端请求服务器会和客户端之间建立起连接这个连接用于专门处理该客户端的所有请求直到用户主动断开连接或网络出现中断在连接处于空闲时后台进程PMON会每隔一段时间

知识大全 连接oracle数据库及故障解决办法

  如何配置才能使客户端连到数据库  要使一个客户端机器能连接oracle数据库需要在客户端机器上安装oracle的客户端软件唯一的例外就是java连接数据库的时候可以用jdbcthin模式不用装or

知识大全 windows优化系统后oracle9i本地连接失败

  我们使用的系统是windows经过优化后oracle数据库出现了问题本地客户端不能连接但远程连接是没有问题的    经过检查原来是oracle的TNSListener服务没有起动用服务起动或者ne

知识大全 用SyncML进行异构数据库复制技巧

用SyncML进行异构数据库复制技巧  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在开发分布式

知识大全 建立与Oracle服务器连接的两种连接模式

建立与Oracle服务器连接的两种连接模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在建立

知识大全 SYBASE到ORACLE连接服务器的实现

SYBASE到ORACLE连接服务器的实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作者:

知识大全 设置sqlplus访问远程oracle数据库的方法

  如果要连接远程数据库传统的一定可行的方法是在本地装一个oracle然后使用NeorkConfigurationAssistant配置之后用PL/SQLDev连接  oracle官网上提供了最小访问

知识大全 如何释放Oracle服务器过多的连接数

如何释放Oracle服务器过多的连接数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracl

知识大全 如何连接两台Oracle服务器(服务器A、服务器B,均装有NT)

如何连接两台Oracle服务器(服务器A、服务器B,均装有NT)?  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一

知识大全 通过Oracle连接管理器控制数据库连接

通过Oracle连接管理器控制数据库连接  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  为了更好