Microsoft Jet Database Engine

Microsoft Jet是微軟針對檔案型資料庫所發展的資料庫引擎，它的適用資料類相當多，像是Microsoft Access、Microsoft Excel、dBase等等檔案型資料可以利用Microsoft Jet資料庫引擎來使用SQL指令存取。目前的Jet引擎最新版本為4.0，並且未來在x64平臺上將不再支援。版本歷程.Jet 1.0.Microsoft Jet第一個版本是在1992年研發出來，當時的研發代號是「Cirrus」，為Microsoft Access 1.0所使用的資料庫引擎，當時的資料存取元件為DAO，程式語言為Visual Basic 3.0，DAO本身是一個COM元件，可以由支援COM規格的程式語言所存取，但它當時的功能只適用於Microsoft Access。Jet 1.1於1993年5月發表，首次支援Access以外的資料庫 (FoxPro)。使用儲存查詢結果，它自動連結到資料庫，因此使用者可以檢視Dynaset並即時看到別人對資料庫的修改；使用者修改Dynaset的記錄能自動存回資料庫，無需另寫修改資料庫內容的SQL語句。如果Dynaset是多表Join操作生成的，則是不可修改。Jet 2.x.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的功能。Jet 3.x.Jet 3.0在1995年第三季發表，Jet 3.5則是在1996年第三季發表，與Jet 2.x不同的是，它只有32位元的版本，提供給Windows 95以及Windows NT等作業系統使用，其主要新功能為支援資料庫複製，即在上一條事務提交給資料庫後，自動開始了下一條事務。但隨後在Windows95平臺上發現這對效能有負面影響，Jet 3.5又刪除了這一特性。Jet 4.0.Jet 4.0是Microsoft發表的最後一個Jet引擎版本，它支援了下列的能力：連線字串與支援的資料庫.連線字串.如果執行Insert Into語句時卻出現異常：“操作必須使用一個可更新的查詢”，這時可能需要把IMEX的值從2改為1嘗試。Microsoft Access.Access是Jet最主要的支援物件之一，因此對Access的支援是最充足的，依版本的不同，由MSRD2x40.DLL、MSRD3x40.DLL (Jet 3.x)與MSJET40.DLL支援：Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Microsoft Excel.Excel則是在Jet 2.x開始支援的資料儲存體，雖然可以使用SELECT，INSERT，UPDATE三種查詢，但無法使用DELETE刪除資料，而且其SQL指令的使用限制也很多。Excel的驅動程式由MSEXCL40.DLL提供，目前可支援：Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";對於Excel 97以上到2003版本在連線字串中都用Excel 8.0；對於Excel 2007或2010的在連線字串中都用Extended Properties=Excel 12.0Exchange.Microsoft Jet支援Exchange 4.0資料庫，但後續版本即不再支援，目前它可存取Outlook 9.0 (Outlook 2000)的資料檔，由MSEXCH40.DLL支援。Provider=Microsoft.JET.OLEDB.4.0;Exchange 4.0;MAPILEVEL=Outlook Address Book\;PROFILE=Outlook;TABLETYPE=1;DATABASE=c:\tempHTML Table.在網頁中的HTML表格可以利用Jet來存取，分為HTML import和HTML export兩個部份，分別處理HTML的SELECT。Provider=Microsoft.Jet.OLEDB.4.0;Data Source=http://www.acme.com/tb.html;Extended Properties="HTML Import;HDR=YES;IMEX=1";Paradox.Jet可以連線與存取Paradox資料庫，由MSPBDE40.DLL支援，目前可用的版本有：Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Microsoft Office\Office;Extended Properties=Paradox 5.xdBase.dBase檔案的支援由MSXBDE40.DLL支援，目前可用的版本有：Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\myDB;Extended Properties=dBASE IV;文字檔案.文字檔案 (text file)，包括csv檔案，是Jet較為特殊的資料別之一，它由MSTEXT40.DLL支援，它同時也是HTML Import與HTML Export的基礎。Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\data.txt;Extended Properties="text;HDR=Yes;FMT=Delimited(,)";Lotus 1-2-3.Lotus 1-2-3的試算表可由Jet存取，可支援Lotus的WJ2, WJ3, WK1, WK3與WK4等檔案格式，由MSLTUS40.DLL提供支援。Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\temp\FILE0014.WK4;Extended Properties=Lotus WK4;Persist Security Info=False對於Microsoft Office 2007的支援.由於Microsoft Office 2007對其旗下Access與Excel的主要檔案格式進行修改，並且重新命名為.accdb。Access 2007及其後版本使用Jet 4.0引擎來操作老版本的Access檔案。 Microsoft Access 2010引入了64位元版本的ACE引擎。Access 2007的連線字串為：Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Persist Security Info=False;Excel 2007的連線字串為：Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";對 x64 的支援能力隨 Office 安裝版本而定：若 Office 安裝了 x86 版本，則沒有 64 位 ODBC 驅動程式可用；但若安裝了 x64 版本的 Office，則 32 位的 ODBC 程式只能使用 Windows 附帶的 Jet 驅動程式、Office 驅動程式是 64 位。