Microsoft Jet Database Engine
Microsoft Jet 是微軟針對檔案型資料庫所發展的資料庫引擎(Database Engine),它的適用資料來源種類相當多,像是Microsoft Access、Microsoft Excel、dBase等等檔案型資料來源都可以利用Microsoft Jet資料庫引擎來使用SQL指令存取。
目前的Jet引擎最新版本為4.0,並且未來在x64平台上將不再支援。
| Jet DLLs | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
目录 |
版本歷程[编辑]
Jet 1.0[编辑]
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)[1]。
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的功能[1]。
Jet 3.x[编辑]
Jet 3.0 在1995年第三季發表,Jet 3.5 則是在1996年第三季發表,與 Jet 2.x 不同的是,它只有32位元的版本,提供給Windows 95以及Windows NT等作業系統使用,其主要新功能為支援資料庫複製 (Replication),多執行緒支援以及動態緩衝區 (dynamic buffer) 的能力,並使用全新的索引機制,可加快資料庫的速度,並且擴充DAO的物件模型[1]。
Jet 4.0[编辑]
Jet 4.0 是 Microsoft 發表的最後一個 Jet 引擎版本,它支援了下列的能力:
- Unicode 字元儲存支援,使用與 Windows NT 相同,並且也在 Windows 95 上版本實作的排序方法。
- 變更資料型別,讓它更貼近SQL Server,並支援新的 decimal 資料型別。
- Memo 欄位可以設定索引。
- 可壓縮資料型別。
- 強化 SQL 讓 Jet 更符合 ANSI SQL-92 規範。
- 更好的安全性,檢視表支援,程序支援。
- 交易的完成與終止(認可或撤回)。
- 強化的表格建立與修改。
- 參考完整性支援。
- 連線控制。
- 使用者清單,允許管理員能決定誰可連到資料庫。
- 記錄層級鎖定(前一版本只支援頁鎖定)。
- 與Microsoft SQL Server的雙邊複製能力。
支援的資料庫[编辑]
Microsoft Access[编辑]
Access 是 Jet 最主要的支援對象之一,因此對 Access 的支援是最充足的,依版本的不同,由 MSRD2x40.DLL (Jet 2.x)、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 指令的使用限制也很多[2]。
Excel 的驅動程式由 MSEXCL40.DLL 提供,目前可支援:
- Excel 3.0 (Office 3.0)
- Excel 4.0 (Office 4.0)
- Excel 5.0 (Office 4.3)
- Excel 8.0 (Office 97-2000)
Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\MyExcel.xls; Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";
Exchange[编辑]
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:\temp
HTML Table[编辑]
在網頁中的 HTML 表格可以利用 Jet 來存取,分為 HTML import 和 HTML export 兩個部份,分別處理 HTML 的 SELECT(輸入)與 INSERT(輸出)。
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 支援,目前可用的版本有:
- Paradox 3.x
- Paradox 4.x
- Paradox 5.x
- Paradox 7.x
Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Program Files\Microsoft Office\Office; Extended Properties=Paradox 5.x
dBase[编辑]
dBase 檔案的支援由 MSXBDE40.DLL 支援,目前可用的版本有:
- dBase III
- dBase IV
- dBase 5.0
Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\myDB; Extended Properties=dBASE IV;
文字檔案[编辑]
文字檔案 (text file) 的支援是 Jet 較為特殊的資料來源類型之一,它由 MSTEXT40.DLL 支援,它同時也是 HTML Import 與 HTML Export 的基礎。
Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\txtFilesFolder\; 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 資料庫檔案)與 .xlsx(Excel 2007 檔案),因此未被 Microsoft Jet 引擎所支援,不過微軟也很快的提出了 Microsoft Office 2007 Desktop Drivers: Data Connectivity Components 來支援,其連接字串中的資料提供者改為 Microsoft.ACE.OLEDB.12.0。
Access 2007 的連線字串為[3]:
Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\myFolder\myAccess2007file.accdb; Persist Security Info=False;
Excel 2007 的連線字串為[3]:
Provider=Microsoft.ACE.OLEDB.12.0; Data Source=c:\myFolder\myExcel2007file.xlsx; Extended Properties="Excel 12.0 Xml;HDR=YES";
不過它和 Microsoft Jet 一樣,都無法支援 x64 平台。
參考資料[编辑]
- ^ 1.0 1.1 1.2 Dan Haught, Jim Ferguson. Microsoft Jet Database Engine Programmer's Guide 2/e. Microsoft Professional Editions. Microsoft Press. 1997. ISBN 1572313420.
- ^ HOW TO:使用 ADO.NET 擷取與修改利用 Visual Basic .NET 之 Excel 活頁簿中的記錄
- ^ 3.0 3.1 ConnectionStrings.com
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||