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