日期:2013-05-27  浏览次数:20478 次


Microsoft数据引擎 MSDE

概述
创建使用程序的开发人员面临着这样一个选择:在众多的数据库选项中,应该选择哪一种技术?在选择一种数据库技术之前,开发人员需求考虑很多要素。比如,该使用程序需求支持多少个用户?所有的用户能否会同时访问数据库系统?该使用程序的开发涉及到哪些费用?如果该使用程序的需求随着时间的推移而发生变化,该技术能否允许对该数据库的功用和规模进行扩充?
直到最近,Microsoft推出了两种数据库管理方案:Microsoft Jet (即Microsoft Access 数据引擎,该引擎随同Access 和Microsoft Visual Studio发布) 和 Microsoft SQL Server。由于每一种技术方案都有本身的优势,同时又存在某些局限性,因此,以前如果要求开发人员选择这样一种数据库技术:使它既满足从桌面到数据中心环境下运转,而数据库使用程序又顺应长期和短期需求,普通而言是很困难的。由于基于Jet的处理方案具有易于使用和开发成本低的优点,因此,对于桌面或者共享的使用程序而言,它是一种很不错的选择。然而,开发人员发现:随着使用系统规模的扩大,在他们将Jet使用程序移植到SQL Server的平台之前,需求对程序代码进行大量的修正。值得开发人员快乐的是:随着一个与SQL Server 兼容的数据引擎—Microsoft 数据引擎(MSDE)的发布,开发人员可以选用一种新的方式来创建基于桌面和共享环境的数据库使用程序。利用MSDE,开发人员可以创建自在分布的桌面和共享的数据库处理方案。当需求对系统的规模进行扩充时,采用这种处理方案的数据库使用程序可以很容易地移植到SQL Server中。
数据引擎涉及哪些技术
从本质上讲,一个处于运转形状的“数据引擎”就是一个核心进程。一个数据库管理系统,比如Access 或者 SQL Server,将利用这个核心进程来存储和管理数据库中的数据。从这种意义上讲,我们通常可以把一个数据引擎看作是一个没有相应的图形管理工具的数据库管理系统。数据引擎次要有两种作用:一是用来存储数据,二是用来处理其它对象对存储的信息所提交的请求。我们通常把用来检索或者更新数据的请求称作数据库查询。
通常,数据引擎与自定义数据库使用程序一同对客户机使用程序提交的数据库请求进行呼应。自定义数据库使用程序是用某种开发工具,比如Microsoft Visual Studio创建的。在这种情况下,由于自定义的数据库使用程序曾经包含了内置的工具对底层的数据库进行管理,因此,在数据引擎中,就没有必要包含图形工具来对数据库进行管理了。此外,由于数据引擎具有容易分布的特点,开发人员可以将相应的数据引擎包含到自定义使用程序中,在使用程序的安装过程中,用户可以通过选取该引擎组件而将其安装到系统中。
Microsoft数据引擎
Microsoft 数据引擎(MSDE)与SQL Server完全兼容,在以Visual Studio 6.0 或者Access 2000为开发工具所创建的桌面和共享的数据库处理方案中,该引擎可以用来对数据库进行处理。对于Visual Studio 6.0 或者 Access 2000开发人员来说, 他们可以在不单独对MSDE进行注册的情况下发布使用MSDE创建的数据库使用程序。MSDE用到了SQL Server提供的一些技术,并且与SQL Server 7.0完全兼容。在Access 2000中,MSDE是代替Jet(Access 2000数据库使用的缺省引擎)的理想选择。此外,对于Visual Studio 6.0开发人员而言,如果他们想创建自定义的数据库使用程序,并且希望在这些自定义的使用程序中使用与SQL兼容的的数据库,那么,他们可以通过采用MSDE作为数据引擎的方式来达到这一目的。MSDE与SQL的兼容性意味着:开发人员可以对现有的以MSDE作为数据引擎、桌面和共享的数据库使用程序代码不作任何修正,就可以将其移植到SQL Server中。
MSDE以提供某种服务的方式在后台运转。在此,服务指的是当前台进程运转的使用程序。服务与其它的使用程序的运转方式有所不同。比如,只需用户通过从“开始”菜单选取“启动”选项,对应的使用程序就可以投入运转。但对于服务而言,如MSDE,情况就不是这样。它们的启动和关闭通常是由操作系统来完成的。以MSDE作为数据引擎的桌面和共享的数据库使用程序通常具有以下限制:在数据库使用程序存活期间,MSDE服务应该处于运转形状。普通而言,使用服务的对象是其它使用程序,而不是终端用户。普通情况下,服务在后台运转,当它接收到客户机使用程序向它提交的处理请求时,它就转去执行相应的请求。对于MSDE来说,这些请求是一些将要对数据库执行的操作。由于使用服务的对象是客户机使用程序,而不是终端用户,因此服务不需求有用户界面。在Access 2000中创建的一个工程或者一个Visual Basic使用程序可以直接与某个服务进行交互。对于MSDE而言,这些客户机使用程序充当了用户界面。
MSDE的特性:
* 完全与Microsoft SQL Server 7.0 以及以前的版本相兼容。
* 对于Visual Studio 6.0 或者 Microsoft Office 2000 开发人员而言,他们可以将基于MSDE的数据库使用程序免费发布给最终用户。
* 可以在Windows 95, Windows 98, Windows NT, 以及Windows 2000 (Intel 和 Alpha)平台上运转。
* 具有客户机/服务器的体系结构(MSDE在数据库服务器,而不是在客户机上执行对数据库的操作)。
* 以提供服务的方式在后台运转。
* 在数据库的开发过程中,开发人员不需求为该引擎创建相应的用户界面。其它使用程序,比如用Access 2000 或者 Visual Basic开发的自定义使用程序需求为数据库提供相应的用户界面.
Jet 4.0
Jet 4.0是在Microsoft Access 2000中使用的缺省的数据引擎。在Visual Studio 6.0 开发工具包中,也包含了这一引擎。Jet是基于文件的数据库管理系统。这品种型的数据库管理系统具有如下特点:系统中的数据库包含在一个独立的数据库文件中,并且对数据库的读写操作是由客户机控制的。Jet 可以在多用户的环境下使用,并且开发人员还能够将采用Jet作为引擎的数据库使用程序扩充为桌面和共享的数据库使用程序。Microsoft Access为Jet数据引擎提供了一个易于使用的界面。开发人员还可以利用 Visual Basic或者其它开发工具来创建自定义的前端使用程序,在这些使用程序中,包含了以Jet作为引擎的数据库。
SQL Server
SQL Server是一个基于客户机/服务器模式的数据库管理系统。与基于文件的数据库中使用的引擎不同,在基于客户机/服务器模式的数据库管理系统中,数据引擎将担任管理数据库的读写操作。由于这一特性,基于客户机/服务器模式的数据库管理系统,比如SQL Server,可以在很大的程度上提高系统能够处理的并发用户数和数据量。当前,企业中使用的大型数据库使用程序需求支持的并发用户数和处理的数据量在不断添加,SQL Server就是为满足这一迫切需求而设计的。这些数据库使用程序包括在今天曾经实现和在将来还需求进一步改进的企业管理系统和决策支持系统。SQL Server具有各种发行版本,以满足在不同的环境下对处理的数据量、并发用户数和硬件的不同要求。
数据库与SQL的兼容性
数据库与SQL的兼容性指的是,数据库在多大程度上与用来进行数据库通信的ANSI结构化查询言语(ANSI-SQL)行业标准保持分歧。MSDE 和 SQL Server两者都服从Transact-SQL (T-SQL)中定义的言语规范,而Jet则没有采用这种规范。与此不同的是,Jet定义并实现了它本人的一套查询言语。在这种查询言语中,Jet可以调用Visual Basic使用程序(VBA)中的函数过程。Transact-SQL是一套定义完善的言语,开发人员可以通过这种言语来进行数据库使用程序和数据库服务器之间的通信,并能够对数据库服务器进行编程处理。Transact-SQL是ANSI-SQL的一个超集,利用Transact-SQL,开发人员可以通过对服务器进行编程的方式来使服务器执行一些定制的事务逻辑处理。用户可以通过在客户端调用这些以事件或者音讯的方式驱动的事务逻辑处理过程,而实际执行时,这些逻辑处理过程则是在服务器上完成的。MSDE与Transact-SQL的言语规范保持分歧意味着:MSDE中的对象不加修正就能够在SQL Server中运转。因此,在这一点上,MSDE要优越于Jet。
如何选择数据引擎
如果你手头的数据库使用程序的功用和规模曾经不能满足数据库系统的需求,你可能预备新建一个基于功用强大的数据引擎的使用程序,也可能打算通过使用一个新的数据引擎来代替原来的引擎的方式对现有的数据库使用程序进行移植,不管你采用哪一种方式,对现有的条件和计划使用的每一种数据引擎的特性进行一定的了解是非常重要的。那么,你到底应该选择哪种数据引擎呢?如果你希望创建桌面和共享的数据库使用程序,那么,你可以考虑用MSDE来代替