Microsoft Office Access 2007 提供了功能豐富的數(shù)據(jù)庫應(yīng)用程序開發(fā)平臺。數(shù)據(jù)庫應(yīng)用程序是一種計算機(jī)應(yīng)用程序,它既提供了一種存儲和管理數(shù)據(jù)的方式,又提供了遵循業(yè)務(wù)任務(wù)邏輯(應(yīng)用程序邏輯)的用戶界面。
要在用戶計算機(jī)上部署不需要安裝 Access 2007 就可以運行的 Office Access 2007 應(yīng)用程序,您可以將其與 Access 2007 Runtime 一起分發(fā),該軟件可以在 Microsoft.com 下載中心免費獲得。
本文討論基本的部署規(guī)劃、Access 2007 Runtime 的功能以及如何下載 Runtime。本文還概述了如何使用 Access 2007 部署數(shù)據(jù)庫應(yīng)用程序。有關(guān)規(guī)劃、設(shè)計和部署 Access 2007 應(yīng)用程序的詳細(xì)信息,請搜索 MSDN 網(wǎng)站和 Technet 網(wǎng)站,并查看本文中另請參閱部分的鏈接。
在開始之前,您應(yīng)該首先考慮下列有關(guān)部署應(yīng)用程序的方式的問題。
您可以創(chuàng)建將數(shù)據(jù)管理和應(yīng)用程序邏輯合并在一個文件中的 Access 2007 應(yīng)用程序。這是 Access 2007 中的默認(rèn)應(yīng)用程序結(jié)構(gòu)。將數(shù)據(jù)管理和應(yīng)用程序邏輯合并在一個文件中提供了最簡單的部署方法,但是此方法僅在一次只有一個用戶使用該應(yīng)用程序時才是最佳方案,并且此方法還存在一定的風(fēng)險。例如,用戶可能會因為無意間刪除或損壞應(yīng)用程序文件而造成數(shù)據(jù)丟失。
在大多數(shù)情況下,應(yīng)該將數(shù)據(jù)管理和應(yīng)用程序邏輯分開。通過使用“Access 數(shù)據(jù)庫”命令(“數(shù)據(jù)庫工具”選項卡上的“數(shù)據(jù)庫工具”組中)可以將數(shù)據(jù)庫應(yīng)用程序拆分為兩個 Access 文件:一個文件用于數(shù)據(jù),一個文件用于邏輯。使用“Access 數(shù)據(jù)庫”命令時,Access 會創(chuàng)建一個在文件名中追加了“_be”(意思是“后端”)的文件 — 例如,如果原來的數(shù)據(jù)庫文件名為“Database1.accdb”,則 Access 會創(chuàng)建一個名為“Database1_be.accdb”的新數(shù)據(jù)庫文件。
另一種將數(shù)據(jù)管理和應(yīng)用程序邏輯分開的方式是使用數(shù)據(jù)庫服務(wù)器程序(例如 Microsoft SQL Server)實現(xiàn)數(shù)據(jù)管理,使用 Access 實現(xiàn)應(yīng)用程序邏輯。
要確定單個 Access 文件是否足以滿足數(shù)據(jù)管理和應(yīng)用程序邏輯的需要,請考慮以下因素:
使用分開的邏輯和數(shù)據(jù)文件的 Access 2007 應(yīng)用程序利用了 NTFS 安全性功能,有助于保護(hù)數(shù)據(jù)的完整性和安全性。因為用戶只需要對應(yīng)用程序邏輯文件具有顯式讀/寫訪問權(quán)限,所以數(shù)據(jù)文件可以更加安全。
您的應(yīng)用程序可能需要更多的安全選項(如控制哪些用戶有權(quán)訪問特定數(shù)據(jù)的能力)。在這種情況下,應(yīng)該使用含有 Microsoft Windows SharePoint Services 的服務(wù)器產(chǎn)品(如 SQL Server 或 Windows Server 操作系統(tǒng))來存儲和管理應(yīng)用程序數(shù)據(jù),使用 Access 提供應(yīng)用程序邏輯。
有關(guān)可伸縮性的其他信息,您還可以查看 Access 2007 程序規(guī)范。在另請參閱部分中,提供了指向有關(guān) Access 2007 規(guī)范的詳細(xì)信息的鏈接。
如果您的所有用戶都位于同一局域網(wǎng)內(nèi),或者如果您的應(yīng)用程序不會通過網(wǎng)絡(luò)使用,則在大多數(shù)情況下,單個應(yīng)用程序文件就可以很好地工作。然而,如果將數(shù)據(jù)和邏輯劃分到不同的文件中,則網(wǎng)絡(luò)性能會更好。如果您的用戶不在同一局域網(wǎng)內(nèi),則應(yīng)該考慮使用服務(wù)器平臺來存儲和管理數(shù)據(jù),使用 Access 處理應(yīng)用程序邏輯。
如果所有用戶都將在其計算機(jī)上安裝 Access 2007,則他們可以像處理任何 Access 2007 數(shù)據(jù)庫文件一樣打開和使用該應(yīng)用程序。
如果部分或全部用戶都不在其計算機(jī)上安裝 Access 2007,則需要在部署應(yīng)用程序時為這些用戶部署 Access 2007 Runtime 軟件。
Access 2007 Runtime 是一個可重新分發(fā)的程序,通過該程序,沒有在其計算機(jī)上安裝 Access 2007 的用戶可以使用 Access 2007 數(shù)據(jù)庫應(yīng)用程序。使用 Access 2007 Runtime 打開 Access 2007 數(shù)據(jù)庫時,數(shù)據(jù)庫會在運行時模式下打開。
運行時模式是這樣一種 Access 2007 操作模式:在這種模式下,某些 Access 2007 功能默認(rèn)情況下不可用。然而,這些不可用的功能中有一些可以在運行時模式下啟用。
以下 Access 2007 功能在運行時模式下不可用:
在安裝了 Access 2007 的完整版的計算機(jī)上,可以在運行時模式下運行任何 Access 2007 數(shù)據(jù)庫。要在運行時模式下運行 Access 2007 數(shù)據(jù)庫,請執(zhí)行以下操作之一:
盡管運行時模式限制了導(dǎo)航和設(shè)計功能的可用性,但是您不應(yīng)該將運行時模式用作確保數(shù)據(jù)庫應(yīng)用程序安全的主要手段。在安裝了 Access 2007 的完整版的計算機(jī)上,用戶可以像打開常規(guī)數(shù)據(jù)庫應(yīng)用程序(即,所有功能都可用)一樣打開運行時數(shù)據(jù)庫應(yīng)用程序,并在其中更改設(shè)計或執(zhí)行其他不受歡迎的操作。
即使僅在沒有安裝 Access 2007 的完整版的計算機(jī)上部署數(shù)據(jù)庫應(yīng)用程序,用戶仍然可以將應(yīng)用程序傳輸?shù)桨惭b了 Access 2007 的完整版的計算機(jī)上,然后像打開常規(guī)數(shù)據(jù)庫應(yīng)用程序一樣打開運行時數(shù)據(jù)庫應(yīng)用程序。
注釋 如果要分發(fā) Access 2007 應(yīng)用程序,以使用戶無法修改窗體、報表或 Microsoft Visual Basic for Applications (VBA) 模塊的設(shè)計,請考慮使用二進(jìn)制編譯文件 (.accde)。有關(guān)使用二進(jìn)制編譯文件的詳細(xì)信息,請參閱本文下文中的確定使用哪種文件格式部分。
要從 Microsoft 下載中心下載 Access 2007 Runtime,請單擊另請參閱部分中的鏈接。
無需購買就可以下載、使用或重新分發(fā) Access 2007 Runtime,并且對于可以向其分發(fā) Runtime 的用戶數(shù)量沒有限制。
要部署 Access 2007 應(yīng)用程序,至少需要執(zhí)行以下任務(wù):
一種典型的方法是提供具有可打開數(shù)據(jù)庫對象或執(zhí)行其他操作的命令按鈕的切換面板樣式窗體。您還可以創(chuàng)建自定義功能區(qū),然后將該功能區(qū)與在應(yīng)用程序啟動時打開的窗體聯(lián)系起來。有關(guān)創(chuàng)建自定義功能區(qū)的詳細(xì)信息,請參閱另請參閱部分中的鏈接。
在以下部分中,您可以了解有關(guān)這些選項和注意事項的詳細(xì)信息。
在部署應(yīng)用程序時,可以使用四種 Access 2007 文件格式:
您只能在 Access 部署文件中放置一個應(yīng)用程序文件。如果應(yīng)用程序具有單獨的數(shù)據(jù)和邏輯文件,則可以將其分別打包。
有關(guān)使用 Access 部署文件的詳細(xì)信息,請參閱對 Access 2007 數(shù)據(jù)庫進(jìn)行打包和簽名部分。
您可以使用 Access 2007 Runtime 打開 Access 2007 二進(jìn)制編譯文件。然而,默認(rèn)情況下,Runtime 不能識別 .accde 文件擴(kuò)展名。要使用 Access 2007 Runtime 打開二進(jìn)制編譯文件,請創(chuàng)建指向 Runtime 的快捷方式,并包含希望該快捷方式打開的二進(jìn)制編譯文件的路徑。
安裝應(yīng)用程序的最簡單方式是向應(yīng)用程序用戶提供數(shù)據(jù)庫應(yīng)用程序文件。然而,如果計劃向大量用戶部署應(yīng)用程序,或者多次部署應(yīng)用程序,則應(yīng)該考慮使用軟件打包實用程序(如 Access 2007 Developer Extensions 數(shù)據(jù)包解決方案向?qū)В?yīng)用程序打包為 Windows Installer 數(shù)據(jù)包(.msi 文件),然后使用該數(shù)據(jù)包安裝應(yīng)用程序。
可以使用該數(shù)據(jù)包解決方案向?qū)?zhí)行以下操作:
有關(guān)下載和使用 Access 2007 Developer Extensions 的詳細(xì)信息,請參閱另請參閱部分中的鏈接。
Access 2007 Developer Extensions 數(shù)據(jù)包解決方案向?qū)Р荒苓m應(yīng)多個安裝路徑。如果應(yīng)用程序的數(shù)據(jù)和邏輯組件是分開的,并且使用 Access 2007 Developer Extensions 對應(yīng)用程序進(jìn)行打包,則您可能需要在適當(dāng)?shù)奈恢茫ㄈ缥募?wù)器)手動安裝 Access 2007 數(shù)據(jù)文件。
將數(shù)據(jù)和邏輯組件分開的應(yīng)用程序使用鏈接表連接這兩個組件。因為每個網(wǎng)絡(luò)都是不同的,所以同時指定這兩個組件的安裝路徑不切實際。在大多數(shù)情況下,如果使用該數(shù)據(jù)包解決方案向?qū)?,則只能使用該向?qū)壿嫿M件進(jìn)行打包。
如果具有有關(guān)這兩個組件的安裝路徑的足夠信息,則您可能希望使用該數(shù)據(jù)包解決方案向?qū)?chuàng)建兩個安裝包,以便指定每個組件的安裝路徑。
注釋 盡管此功能也稱為“打包”,但是它與 Access 2007 Developer Extensions 的數(shù)據(jù)包解決方案向?qū)瓿傻娜蝿?wù)并不相同。本部分介紹的功能對 Access 2007 文件進(jìn)行打包,并對該數(shù)據(jù)包應(yīng)用數(shù)字簽名,以便有助于向用戶表明該文件是可靠的。
與早期版本的 Access 相比,使用 Access 2007 可以更加輕松、快速地對數(shù)據(jù)庫進(jìn)行簽名和分發(fā)。在創(chuàng)建 .accdb 文件或 .accde 文件后,可以將該文件打包,對該數(shù)據(jù)包應(yīng)用數(shù)字簽名,然后將經(jīng)過簽名的數(shù)據(jù)包分發(fā)給其他用戶。“打包并簽名”功能可將數(shù)據(jù)庫置于 Access 部署 (.accdc) 文件中,對該數(shù)據(jù)包進(jìn)行簽名,然后將經(jīng)過代碼簽名的數(shù)據(jù)包放在您在用戶計算機(jī)上確定的位置。
在創(chuàng)建數(shù)據(jù)包并對數(shù)據(jù)包進(jìn)行簽名的過程中,請記住以下事項:
以下部分將介紹如何創(chuàng)建簽名包文件以及如何使用簽名包文件中的數(shù)據(jù)庫。
注釋 要完成以下步驟,您必須至少有一個可用的安全證書。如果您的計算機(jī)上沒有安裝證書,則可以使用 SelfCert 工具創(chuàng)建一個。有關(guān)創(chuàng)建專用安全證書的信息,請參閱文章幫助確保 Access 2007 數(shù)據(jù)庫的安全。
將出現(xiàn)“創(chuàng)建 Microsoft Office Access 簽名包”對話框。
Access 將創(chuàng)建 .accdc 文件并將其放置在您選擇的位置。
如果您信任該數(shù)據(jù)庫,請單擊“打開”。如果您信任來自提供者的任何證書,請單擊“信任來自發(fā)布者的所有內(nèi)容”。將出現(xiàn)“將數(shù)據(jù)庫提取到”對話框。
如果不能確定是否信任證書,請參閱如何判斷數(shù)字簽名是否可靠,其中提供了有關(guān)檢查日期和證書中的其他項以幫助確保該證書有效的常規(guī)信息。