Microsoft Jet Database Engine

title: 版本历程.
title: Jet 1.0.
content: Microsoft Jet第一个版本是在1992年研发出来,当时的研发代号是「Cirrus」,为Microsoft Access 1.0所使用的数据库引擎,当时的资料存取元件为DAO(Data Access Object),程序语言为Visual Basic 3.0,DAO本身是一个COM元件,可以由支援COM规格的程序语言所存取,但它当时的功能只适用于Microsoft Access。Jet 1.1于1993年5月发表,首次支援Access以外的数据库 (FoxPro)。使用Dynaset保存查询结果,它自动链接到数据库,因此用户可以查看Dynaset并即时看到别人对数据库的修改;用户修改Dynaset的记录能自动存回数据库,无需另写修改数据库内容的SQL语句。如果Dynaset是多表Join操作生成的,则是不可修改。
title: Jet 2.x.
content: Jet 2.0在1994年4月与Access 2.0一起发表,它支援了数据完整性,引擎层次资料验证,ANSI SQL,联合查询,子查询等等功能,DAO也新增了更多完整的物件能力,像是集合、物件、属性和方法等。同年的10月份,Jet 2.5与Access 2.0 Service Pack和ODBC Desktop Database Driver Kit一起发表,它也是第一个32位元版本的Jet引擎,并开始支援Excel的读写能力以及VBA的功能。
title: Jet 3.x.
content: Jet 3.0在1995年第三季发表,Jet 3.5则是在1996年第三季发表,与Jet 2.x不同的是,它只有32位元的版本,提供给Windows 95以及Windows NT等操作系统使用,其主要新功能为支援数据库复制(Replication),多执行绪支援以及动态缓冲区 (dynamic buffer)的能力,并使用全新的索引机制,可加快数据库的速度,并且扩充DAO的物件模型。 采用了Microsoft Rushmore查询优化技术。Jet 3.0引入了隐式事务(Implicit transactions),即在上一条事务提交给数据库后,自动开始了下一条事务。但随后在Windows95平台上发现这对性能有负面影响,Jet 3.5又删除了这一特性。
title: Jet 4.0.
content: Jet 4.0是Microsoft发表的最后一个Jet引擎版本,它支援了下列的能力:  如果执行Insert Into语句时却出现异常:“操作必须使用一个可更新的查询”,这时可能需要把IMEX的值从2改为1尝试。
title: 连接字符串与支援的数据库.
title: Microsoft Access.
content: Access是Jet最主要的支援对象之一,因此对Access的支援是最充足的,依版本的不同,由MSRD2x40.DLL(Jet 2.x)、MSRD3x40.DLL (Jet 3.x)与MSJET40.DLL支援:
title: Microsoft Excel.
content: Excel则是在Jet 2.x开始支援的资料储存体,虽然可以使用SELECT,INSERT,UPDATE三种查询,但无法使用DELETE删除资料,而且其SQL指令的使用限制也很多。  Excel的驱动程序由MSEXCL40.DLL提供,目前可支援:  对于Excel 97以上到2003版本在连接字符串中都用Excel 8.0;对于Excel 2007或2010的在连接字符串中都用Extended Properties=Excel 12.0
title: Exchange.
content: Microsoft Jet支援Exchange 4.0数据库,但后续版本即不再支援,目前它可存取Outlook 9.0 (Outlook 2000)的资料档,由MSEXCH40.DLL支援。
title: HTML Table.
content: 在网页中的HTML表格可以利用Jet来存取,分为HTML import和HTML export两个部分,分别处理HTML的SELECT(输入)与INSERT(输出)。
title: Paradox.
content: Jet可以连接与存取Paradox数据库,由MSPBDE40.DLL支援,目前可用的版本有:
title: dBase.
content: dBase档案的支援由MSXBDE40.DLL支援,目前可用的版本有:
title: 文字档案.
content: 文字档案 (text file),包括csv文件,是Jet较为特殊的资料来源类型之一,它由MSTEXT40.DLL支援,它同时也是HTML Import与HTML Export的基础。
title: Lotus 1-2-3.
content: Lotus 1-2-3的试算表可由Jet存取,可支援Lotus的WJ2, WJ3, WK1, WK3与WK4等档案格式,由MSLTUS40.DLL提供支援。
title: 对于Microsoft Office 2007的支援.
content: 由于Microsoft Office 2007对其旗下Access与Excel的主要档案格式进行修改,并且重新命名为.accdb(Access 2007数据库档案)与.xlsx(Excel 2007档案),因此不再被Microsoft Jet引擎支援,不过微软也随着OFFICE 2007产品发布了Microsoft Office 2007 Desktop Drivers: Data Connectivity Components新的Office相关版本(Office-specific version)的Jet数据库引擎:Office Access Connectivity Engine (ACE),其连接字串中的资料提供者改为Microsoft.ACE.OLEDB.12.0。ACE引擎向后兼容于老版本的Jet引擎,但是对Jet 4.0的一些重要特性不再支持,包括:用户级安全(User-level security)与复制特性(replication feature)。Access 2007及其后版本使用Jet 4.0引擎来操作老版本的Access文件。 Microsoft Access 2010引入了64比特版本的ACE引擎。  Access 2007的连线字串为:  Excel 2007的连线字串为:  对 x64 的支持能力随 Office 安装版本而定:若 Office 安装了 x86 版本,则没有 64 位 ODBC 驱动程序可用(Jet 和 Office 驱动都是 32 位);但若安装了 x64 版本的 Office,则 32 位的 ODBC 程序只能使用 Windows 附带的 Jet 驱动程序、Office 驱动程序是 64 位。

Summary: Microsoft Jet是微软针对档案型数据库所发展的数据库引擎(Database Engine),它的适用资料来源种类相当多,像是Microsoft Access、Microsoft Excel、dBase等等档案型资料来源都可以利用Microsoft Jet数据库引擎来使用SQL指令存取。

Microsoft Jet Engine: Microsoft Jet Engine (Microsoft Joint Engine Technology Engine) ist eine 1992 eingeführte Engine für relationale Datenbanken unter Windows-Betriebssystemen. Microsoft entwickelte dabei zwei vollkommen unabhängige Versionen der Jet: "Red" und "Blue".