使用微软SQL Server 7.0访问异种数据

ZDNet软件频道 时间:2000-11-20 作者:翻译:张猛 |  我要评论()
本文关键词:SQL Server
本文的目的,是说明利用微软SQL Server7.0,透明地访问异种数据环境中的数据的策略和技术。

简介

企业级商业程序的运行环境,越来越多地转到分布式计算环境里。除了把程序分布到网络上的工作站、服务器、老式主机系统外,公司还要把程序分发到地理上的不同地点和时区。因为公司在不断发展扩大,所以经常会形成一种混杂的异种计算环境,环境里包括各种不同的计算机、网络和数据库。

所以,这些公司需要访问企业当中分散在不同程序里的信息和数据。比如,公司需要一种对于最终用户来说比较透明的方法,来访问保存在UNIX工作站上的数据,或者访问Oracle数据库。要想开发出强大的、能够让公司对市场及时做出响应的分布式解决方案,透明访问是关键。微软的解决方法是:通用数据访问(Universe Data Access)架构:


图1. UDA 架构

这篇文章将说明,在异种计算环境下,透明地访问数据所需要的策略和技术。微软® SQL Server™ 7.0基于UDA架构,通过OLE DB实现。OLE DB是一个接口标准,它为分布式数据访问提供了一个接口方式,利用这个接口,无需考虑数据源或数据格式。相比较而言,Oracle采用的技术是通过服务器进行的,它要求所有的数据必须保存在单一的仓库,只能使用单一的访问语言访问数据。

SQL Server 7.0的基本目标是:充分利用UDA架构提供的性能优势。UDA架构允许数据以不同的格式存储,可以使用多种不同访问方法访问数据。随着SQL Server 7.0的发行,微软不仅提供了更加强大的关系数据库管理系统(RDBMS),而且提供了一个机制,这个机制能够搜集完全不同的信息仓库;而且无需把异种数据迁移或转化到单一数据仓库,就能用一种一致的、有用的方式把数据表示出来。

除了支持UDA, SQL Server 7.0 还提供了这些新技术,用在异种计算环境里处理数据:

  • 数据转换服务 (Data Transfer Service)。 SQL Server 7.0 允许从异种数据源导入数据,或把数据导出到异种数据源,也可以对异种数据源转换。在做这些操作时,不需要在任何额外软件上投资。DTS可以使用任何OLE DB 供应者,包括Oracle,Informix,甚至是Excel。
  • 支持分布式查询。 SQL Server 7.0 允许链接远程服务器 (可以使用任何OLE DB 供应者) ,使用来自异种数据源查询的数据。这项操作对客户应用程序来说,是透明的,看起来异种数据表就象是SQL Server 本身的表一样;而且这种操作方式提高了网络性能,因为查询引掣会尽量在远程服务器上执行尽可能多的操作。另外,不用移动异种数据源的数据,它们可以继续保存在原来的存储系统上。
  • 异种数据复制。任何开放数据库连接(ODBC)驱动程序或OLE DB数据供应者,都能参与到SQL Server 7.0 的复制当中。
  • 对数据仓库的集成支持。可以由各种不同的关系数据库建立数据仓库或数据集市,这些不同的关系数据库包括: SQL Server,Oracle,和 Informix。

所有这些功能都是SQL Server 7.0的本身自带的组成部分,不需要花费额外费用。而且,众多的向导使用户能够更加容易地利用 SQL Server建立异种数据解决方案。

利用下面的一些场景,我们来说明SQL Server和Oracle需要并存的一些可能情况:

场景A:Oracle数据库是系统原有的数据库

在这个场景里,一家书店正在使用Oracle跟踪图书订单和存货。书店目前要引入一个利用Internet的在线订单系统。他们考虑使用Windows NT® 服务器内置的Web服务器—Internet Information 服务 (IIS) 4.0,以及SQL Server 7.0 来接收、处理订单。除非他们用SQL Server代替Oracle处理订单和存货,否则两个系统就必须共存。

在线定单先由SQL Server处理,然后发布到 Oracle。不必使用任何附加软件,就能完成这项操作。因为SQL Server提供的 Oracle OLE DB 驱动程序,包含在SQL Server的发行版里。这个驱动程序能够支持Oracle作为一个订户,接受SQL Server的数据。而且,使用远程链接服务器和存储过程,SQL Server可以直接访问或修改保存在Oracle里的存货数据。使用SQL Server 7.0提供的异种数据查询支持,建立的报告既可以访问Oracle数据库,也可以访问SQL Server 数据库。

Windows NT 和 IIS 的应用数量正迅速增长,而且微软产品维护起来很简易。那么,如果现在使用Oracle 数据库的用户能够很方便的访问他们原有的Oracle系统中的数据,那么就有可能采用微软的 Internet 解决方案。

场景B: SQL Server 和 Oracle 作为对等数据库

在这个场景里,一家公司既运行Oracle 服务器,又运行SQL Server服务器。Oracle是公司某个项目包里,一起打包购买的。SQL Server 则用来满足部门计算的需求。在这个场景里,部门系统的尺寸和复杂性已经增长,而且包含了对部门和企业来说都很重要的数据。可以对 Oracle 系统进行修改,把企业数据库提供给部门,满足日益增长的部门级需求;也可以把部门系统的数据迁移到一个集中的数据仓库。这两种方法都会带来很大的工作量,但同时却极有可能什么效果也达不到。


图 2. SQL Server 和 Oracle 作为对等数据库

另一个方法是:两套系统共享数据,彼此是对等的关系。例如,考虑这么一个情况:有一家培训公司,他们的合同管理、课程、学生和订单保存在SQL Server 7.0 数据库里,同时他们的财务数据保存在Oracle 数据库里。当在SQL Server里生成新的订单时,Oracle数据库必须要开出一张发票。

使用微软事务服务器 (MTS, Windows NT 服务器的一部分),能够在Oracle 数据库里建立合适的条目。如果取消了订单,MTS 事务处理既能更新SQL Server,也能更新Oracle 数据库。

必须建立中间层,用它来定义商业规则和过程。而且必须要顾及,所有用户都要通过中间层来执行商业功能。

这个对等方法,不会触动现有的数据,也不会干扰现有系统。开发人员可以把精力集中在增强程序的功能上,而不是浪费在整理数据上。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134