部署 Access 2007 应用程序
2011-03-17 21:49 Eric.Hu 阅读(1007) 评论(0) 编辑 收藏 举报Microsoft Office Access 2007 提供了功能丰富的数据库应用程序开发平台。数据库应用程序是一种计算机应用程序,它既提供了一种存储和管理数据的方式,又提供了遵循业务任务逻辑(应用程序逻辑)的用户界面。
要在用户计算机上部署不需要安装 Access 2007 就可以运行的 Office Access 2007 应用程序,您可以将其与 Access 2007 Runtime 一起分发,该软件可以在 Microsoft.com 下载中心免费获得。
本文讨论基本的部署规划、Access 2007 Runtime 的功能以及如何下载 Runtime。本文还概述了如何使用 Access 2007 部署数据库应用程序。有关规划、设计和部署 Access 2007 应用程序的详细信息,请搜索 MSDN 网站和 Technet 网站,并查看本文中另请参阅部分的链接。
规划部署
在开始之前,您应该首先考虑下列有关部署应用程序的方式的问题。
是否应该将数据和逻辑分开?
您可以创建将数据管理和应用程序逻辑合并在一个文件中的 Access 2007 应用程序。这是 Access 2007 中的默认应用程序结构。将数据管理和应用程序逻辑合并在一个文件中提供了最简单的部署方法,但是此方法仅在一次只有一个用户使用该应用程序时才是最佳方案,并且此方法还存在一定的风险。例如,用户可能会因为无意间删除或损坏应用程序文件而造成数据丢失。
在大多数情况下,应该将数据管理和应用程序逻辑分开。通过使用“Access 数据库”命令(“数据库工具”选项卡上的“数据库工具”组中)可以将数据库应用程序拆分为两个 Access 文件:一个文件用于数据,一个文件用于逻辑。使用“Access 数据库”命令时,Access 会创建一个在文件名中追加了“_be”(意思是“后端”)的文件 — 例如,如果原来的数据库文件名为“Database1.accdb”,则 Access 会创建一个名为“Database1_be.accdb”的新数据库文件。
另一种将数据管理和应用程序逻辑分开的方式是使用数据库服务器程序(例如 Microsoft SQL Server)实现数据管理,使用 Access 实现应用程序逻辑。
要确定单个 Access 文件是否足以满足数据管理和应用程序逻辑的需要,请考虑以下因素:
- 数据完整性和安全性 Access 2007 用户必须对包含应用程序逻辑的文件具有读/写权限。如果将数据和逻辑合并在一个文件中,则数据会与应用程序逻辑承受同样的风险。
使用分开的逻辑和数据文件的 Access 2007 应用程序利用了 NTFS 安全性功能,有助于保护数据的完整性和安全性。因为用户只需要对应用程序逻辑文件具有显式读/写访问权限,所以数据文件可以更加安全。
您的应用程序可能需要更多的安全选项(如控制哪些用户有权访问特定数据的能力)。在这种情况下,应该使用含有 Windows SharePoint Services 的服务器产品(如 SQL Server 或 Windows Server 操作系统)来存储和管理应用程序数据,使用 Access 提供应用程序逻辑。
- 可伸缩性 Access 2007 文件最大可为 2 千兆字节 (GB)。尽管 2GB 对于文本数据而言已经很大,但是对于一些应用程序而言可能还不够,特别是在数据库记录中存储附件的应用程序。如果将数据和逻辑分开,则应用程序可以容纳更多数据。如果您预计用户将存储大量数据,则可以考虑使用多个 Access 2007 数据文件。
有关可伸缩性的其他信息,您还可以查看 Access 2007 程序规范。在另请参阅部分中,提供了指向有关 Access 2007 规范的详细信息的链接。
- 网络 如果多个用户需要通过网络同时使用该应用程序,则在将数据和逻辑合并到一个文件中的情况下,更有可能损坏数据。而且,如果将数据和逻辑合并到一个 Access 文件中,则无法优化 Access 生成的网络通信。如果多个用户通过网络同时使用您的应用程序,则应该通过以下方法将数据和逻辑分开:使用两个或更多个 Access 文件,或者使用数据库服务器产品处理数据,使用 Access 处理应用程序逻辑。
网络环境如何?
如果您的所有用户都位于同一局域网内,或者如果您的应用程序不会通过网络使用,则在大多数情况下,单个应用程序文件就可以很好地工作。然而,如果将数据和逻辑划分到不同的文件中,则网络性能会更好。如果您的用户不在同一局域网内,则应该考虑使用服务器平台来存储和管理数据,使用 Access 处理应用程序逻辑。
用户是否会安装 Access 2007?
如果所有用户都将在其计算机上安装 Access 2007,则他们可以像处理任何 Access 2007 数据库文件一样打开和使用该应用程序。
如果部分或全部用户都不在其计算机上安装 Access 2007,则需要在部署应用程序时为这些用户部署 Access 2007 Runtime 软件。
了解 Access 2007 Runtime
Access 2007 Runtime 是一个可重新分发的程序,通过该程序,没有在其计算机上安装 Access 2007 的用户可以使用 Access 2007 数据库应用程序。使用 Access 2007 Runtime 打开 Access 2007 数据库时,数据库会在运行时模式下打开。
什么是运行时模式?
运行时模式是这样一种 Access 2007 操作模式:在这种模式下,某些 Access 2007 功能默认情况下不可用。然而,这些不可用的功能中有一些可以在运行时模式下启用。
哪些功能在运行时模式下不可用?
以下 Access 2007 功能在运行时模式下不可用:
- 导航窗格 导航窗格在运行时模式下不可用。这样有助于防止用户任意访问数据库应用程序中的对象。只有那些以某种方式(例如,通过提供切换面板窗体)显示给用户的对象可以在使用运行时模式时打开。在运行时模式下无法启用导航窗格。
- 功能区 默认情况下,功能区在运行时模式下不可用。这样可以防止用户创建或修改数据库对象,还可以防止用户执行其他可能有害的操作(如连接到新数据源或以您不希望的方式导出数据)。您可以创建自定义功能区,然后将该功能区与窗体或报表联系起来。您无法在运行时模式下显示默认功能区选项卡。
- 设计视图和布局视图 设计视图和布局视图在运行时模式下对任何数据库对象都不可用。这样有助于防止用户修改您的数据库应用程序中对象的设计。在运行时模式下无法启用设计视图和布局视图。
- 帮助 默认情况下,集成的帮助在运行时模式下不可用。因为您可以控制哪些功能在运行时模式应用程序中可用,一些标准的集成 Access 2007 帮助可能与使用您的应用程序的用户无关,而且可能会使其迷惑不解或遭遇挫折。如果是使用 Access 2007 Developer Extensions 将数据库应用程序打包和部署,则可以为运行时模式应用程序提供自定义帮助文件。
不使用 Access 2007 Runtime 软件是否可以在运行时模式下打开 Access 2007 数据库?
在安装了 Access 2007 的完整版的计算机上,可以在运行时模式下运行任何 Access 2007 数据库。要在运行时模式下运行 Access 2007 数据库,请执行以下操作之一:
- 将数据库文件的扩展名从 .accdb 更改为 .accdr。
- 创建数据库的快捷方式,并在快捷方式中包含 /Runtime 命令行开关。
运行时模式是否可以使数据库更安全?
尽管运行时模式限制了导航和设计功能的可用性,但是您不应该将运行时模式用作确保数据库应用程序安全的主要手段。在安装了 Access 2007 的完整版的计算机上,用户可以像打开常规数据库应用程序(即,所有功能都可用)一样打开运行时数据库应用程序,并在其中更改设计或执行其他不受欢迎的操作。
即使仅在没有安装 Access 2007 的完整版的计算机上部署数据库应用程序,用户仍然可以将应用程序传输到安装了 Access 2007 的完整版的计算机上,然后像打开常规数据库应用程序一样打开运行时数据库应用程序。
注释 如果要分发 Access 2007 应用程序,以使用户无法修改窗体、报表或 Microsoft Visual Basic for Applications (VBA) 模块的设计,请考虑使用二进制编译文件 (.accde)。有关使用二进制编译文件的详细信息,请参阅本文下文中的确定使用哪种文件格式部分。
下载 Access 2007 Runtime
要从 Microsoft 下载中心下载 Access 2007 Runtime,请单击另请参阅部分中的链接。
无需购买就可以下载、使用或重新分发 Access 2007 Runtime,并且对于可以向其分发 Runtime 的用户数量没有限制。
部署 Access 2007 应用程序
要部署 Access 2007 应用程序,至少需要执行以下任务:
- 创建应用程序 您的应用程序应该为用户提供一种打开和使用数据库对象的方法。如果应用程序没有提供这样的方法,则用户需要在其计算机上安装 Access 2007 以使用该应用程序。而且,您无法预测用户如何在应用程序中导航,因此提供完整的应用程序文档资料将变得更加困难。此外,如果用户使用 Access 2007 Runtime 软件打开应用程序,则内置的 Access 2007 导航功能将不可用。
一种典型的方法是提供具有可打开数据库对象或执行其他操作的命令按钮的切换面板样式窗体。您还可以创建自定义功能区,然后将该功能区与在应用程序启动时打开的窗体联系起来。有关创建自定义功能区的详细信息,请参阅另请参阅部分中的链接。
- 安装应用程序 有多个与安装应用程序有关的选项和注意事项。您可能要部署特定的文件格式,以便更好地控制用户使用应用程序的方式。或者,您可以将应用程序打包以使其更易于安装,或者部署单独的数据和逻辑组件。
在以下部分中,您可以了解有关这些选项和注意事项的详细信息。
确定使用哪种文件格式
在部署应用程序时,可以使用四种 Access 2007 文件格式:
- .accdb 这是 Access 2007 的默认文件格式。如果使用这种格式部署应用程序,用户具有最多的选项以便按其选择的任意方式来自定义和导航应用程序。如果要确保用户不会更改应用程序的设计,则应该使用 .accde 文件格式。另外,用户无法轻松确定 .accdb 文件在您打包之后是否进行过更改,为了使这一点显而易见,请使用 .accdc 文件格式。
- .accdc 此格式也称为 Access 部署文件。Access 部署文件由应用程序文件以及与该文件相关联的数字签名组成。此文件格式使用户确信在您将应用程序文件打包之后,没有任何用户更改过该文件。您可以将这种格式应用于默认格式 Access 2007 文件 (.accdb),或者应用于 Access 2007 二进制编译文件 (.accde)。
您只能在 Access 部署文件中放置一个应用程序文件。如果应用程序具有单独的数据和逻辑文件,则可以将其分别打包。
有关使用 Access 部署文件的详细信息,请参阅对 Access 2007 数据库进行打包和签名部分。
- .accde 此格式也称为二进制编译文件。在 Access 2007 中,二进制编译文件是一种数据库应用程序文件,该文件在保存时,所有 VBA 代码都已进行了编译。在 Access 二进制编译文件中,没有保留任何 VBA 源代码。
您可以使用 Access 2007 Runtime 打开 Access 2007 二进制编译文件。然而,默认情况下,Runtime 不能识别 .accde 文件扩展名。要使用 Access 2007 Runtime 打开二进制编译文件,请创建指向 Runtime 的快捷方式,并包含希望该快捷方式打开的二进制编译文件的路径。
演示如何将 Access 2007 文件另存为二进制编译文件。
- 在 Access 2007 中,打开要另存为二进制编译文件 (.accde) 的数据库(.accdb 文件)。
- 在“数据库工具”选项卡上的“数据库工具”组中,单击“生成 ACCDE”。
- 在“另存为”对话框中,浏览到要在其中保存该文件的文件夹,在“文件名”框中键入该文件的文件名,然后单击“保存”。
- .accdr 使用这种格式,您能够部署在运行时模式下打开的应用程序。部署运行时应用程序有助于控制该应用程序的使用方式,尽管这不是一种确保应用程序安全的手段。有关运行时模式的详细信息,请参阅了解 Access 2007 Runtime 部分。
将应用程序打包并进行安装
安装应用程序的最简单方式是向应用程序用户提供数据库应用程序文件。然而,如果计划向大量用户部署应用程序,或者多次部署应用程序,则应该考虑使用软件打包实用程序(如 Access 2007 Developer Extensions 数据包解决方案向导)将应用程序打包为 Windows Installer 数据包(.msi 文件),然后使用该数据包安装应用程序。
可以使用该数据包解决方案向导执行以下操作:
- 创建指向应用程序的自定义快捷方式。通过该向导的这种功能,可以使那些使用 Access 2007 Runtime 运行应用程序的用户更轻松地打开二进制编译文件。
- 将安装文件夹作为受信任的位置添加。
- 如果用户计算机上尚未安装 Access 2007 Runtime,则自动安装该软件。
- 在应用程序中包含其他文件(如自定义帮助文件)。
- 创建或修改注册表项。
- 分发最终用户许可证协议 (EULA)。
- 向“控制面板”中的“添加/删除程序”列表中添加有关应用程序的信息。
有关下载和使用 Access 2007 Developer Extensions 的详细信息,请参阅另请参阅部分中的链接。
将拆分的数据库打包
Access 2007 Developer Extensions 数据包解决方案向导不能适应多个安装路径。如果应用程序的数据和逻辑组件是分开的,并且使用 Access 2007 Developer Extensions 对应用程序进行打包,则您可能需要在适当的位置(如文件服务器)手动安装 Access 2007 数据文件。
将数据和逻辑组件分开的应用程序使用链接表连接这两个组件。因为每个网络都是不同的,所以同时指定这两个组件的安装路径不切实际。在大多数情况下,如果使用该数据包解决方案向导,则只能使用该向导对逻辑组件进行打包。
如果具有有关这两个组件的安装路径的足够信息,则您可能希望使用该数据包解决方案向导创建两个安装包,以便指定每个组件的安装路径。
对 Access 2007 数据库进行打包和签名
注释 尽管此功能也称为“打包”,但是它与 Access 2007 Developer Extensions 的数据包解决方案向导完成的任务并不相同。本部分介绍的功能对 Access 2007 文件进行打包,并对该数据包应用数字签名,以便有助于向用户表明该文件是可靠的。
与早期版本的 Access 相比,使用 Access 2007 可以更加轻松、快速地对数据库进行签名和分发。在创建 .accdb 文件或 .accde 文件后,可以将该文件打包,对该数据包应用数字签名,然后将经过签名的数据包分发给其他用户。“打包并签名”功能可将数据库置于 Access 部署 (.accdc) 文件中,对该数据包进行签名,然后将经过代码签名的数据包放在您在用户计算机上确定的位置。
在创建数据包并对数据包进行签名的过程中,请记住以下事项:
- 将数据库打包和对数据包进行签名都是传达信任的方式。当您或您的用户收到该数据包后,可通过签名确认数据库未经篡改。如果您信任数据库的作者,便可以启用其内容。
- 新的“打包并签名”功能仅适用于以 Access 2007 文件格式保存的数据库。Access 2007 提供了早期版本的 Microsoft Office 中的工具,您可以使用这些工具对以早期文件格式创建的数据库进行签名和分发。您不能使用早期版本的 Office 中的工具对以新的 Access 2007 文件格式创建的文件进行签名和部署。
- 只能向一个数据包中添加一个数据库文件。
- 对数据库进行打包和签名时,会对数据库文件中的所有对象而不只是宏或代码模块进行代码签名。另外,该打包和签名过程还会压缩数据包文件,以帮助缩短下载时间。
- 您可以从 Windows SharePoint Services 3.0 服务器上的数据包文件中提取数据库。
以下部分将介绍如何创建签名包文件以及如何使用签名包文件中的数据库。
注释 要完成以下步骤,您必须至少有一个可用的安全证书。如果您的计算机上没有安装证书,则可以使用 SelfCert 工具创建一个。有关创建专用安全证书的信息,请参阅文章帮助确保 Access 2007 数据库的安全。
创建签名包
- 打开要打包并签名的数据库。
- 单击 Microsoft Office 按钮 ,单击“发布”,然后单击“打包并签署”。
- 在“选择证书”对话框中,选择一个数字证书,然后单击“确定”。
将出现“创建 Microsoft Office Access 签名包”对话框。
- 在“保存位置”列表中,为经过签名的数据库包选择一个位置。
- 在“文件名”框中为签名包输入一个名称,然后单击“创建”。
Access 将创建 .accdc 文件并将其放置在您选择的位置。
提取并使用签名包
- 单击“Office 按钮” ,然后单击“打开”。
- 在“打开”列表中,选择“Microsoft Office Access 签名包(*.accdc)”文件类型。
- 在“查找范围”列表中,找到 .accdc 文件所在的文件夹,选择该文件,然后单击“打开”。
- 请执行下列操作之一:
- 如果选择信任被应用于该部署包的数字证书,则将出现“将数据库提取到”对话框。此时,请转到第 5 步。
- 如果您尚未选择信任该数字证书,将出现一条通知消息。
如果您信任该数据库,请单击“打开”。如果您信任来自提供者的任何证书,请单击“信任来自发布者的所有内容”。将出现“将数据库提取到”对话框。
- 另外,还可以在“保存位置”列表中为提取的数据库选择一个位置,然后在“文件名”框中为提取的数据库输入其他名称。
如果不能确定是否信任证书,请参阅如何判断数字签名是否可靠,其中提供了有关检查日期和证书中的其他项以帮助确保该证书有效的常规信息。
http://office.microsoft.com/zh-cn/access-help/HA010218864.aspx