Access 提供了功能丰富的平台,用于开发数据库应用程序。 数据库应用程序是一种计算机程序,它既提供了一种用于存储和管理数据的方式,也提供了一个遵循业务任务逻辑(应用程序逻辑)的用户界面。 本文讨论基本的部署规划、打包和签名、部署数据库应用程序以及 Access 运行时环境。
想进行什么操作?
规划部署
开始之前,你应该询问自己有关应用程序部署方式的以下问题。
是否应将数据和逻辑分开?
你可以创建将数据管理和应用程序逻辑结合在一个文件中的 Access 应用程序。 这是 Access 中的默认应用程序结构。 将数据管理和应用程序逻辑组合在一个文件中提供了最简单的部署方法,但仅当少数人同时使用该应用程序时,此方法才最有效,并且涉及一些风险。 例如,用户可能会无意删除或损坏应用程序文件,从而导致数据丢失。 大多数情况下,应将数据管理和应用程序逻辑分开。 这有助于提高性能和可靠性。
将数据和逻辑分开的一种方法是使用“Access 数据库”命令(在“移动数据”组中的“数据库工具”选项卡上)。 此命令将数据库应用程序拆分为两个 Access 文件:一个用于逻辑 (前端) ,一个用于后端) (数据。 例如,名为 MySolution.accdb 的数据库拆分为两个名为 MySolution_fe.accdb 和 MySolution_be.accdb 的文件。 将后端数据库置于共享位置(例如网络文件夹)。 将前端文件(每个用户的一个副本)分发到其计算机。 甚至可以将不同的前端文件分发给不同的用户。 有关详细信息,请参阅 拆分 Access 数据库。
另一种将数据管理和应用程序逻辑分开的方法是:为数据管理使用数据库服务器程序(例如 Microsoft SQL Server),并为应用程序逻辑使用 Access。 有关详细信息,请参阅 将 Access 数据库迁移到 SQL Server。
分离数据和逻辑的其他原因包括:
-
数据完整性和安全性 如果将数据和逻辑合并在一个文件中,数据会面临与应用程序逻辑同样的风险。 使用单独逻辑和数据文件的 Access 应用程序可以通过利用网络文件夹上的 NTFS 安全功能来帮助保护数据完整性和安全性。
Access 用户必须对前端文件所在的文件夹具有读取、写入、创建和删除权限。 但是,可以为前端文件本身分配不同的权限。 例如,你可能希望将只读权限分配给某些用户,并将读取/写入权限分配给其他用户。
你的应用程序可能需要进一步的安全选项,例如能够控制哪些用户对特定数据具有访问权限。 在这种情况下,可以使用 SQL Server 或 SharePoint 来存储和管理应用程序数据,并使用 Access 提供应用程序逻辑。
-
可扩展性 Access 文件的大小最大为 2 千兆字节 (GB)。 尽管 2GB 对于文本数据而言是海量,但对于某些应用程序(尤其是在数据库记录中存储附件的应用程序)而言则可能不足。 如果将数据和逻辑分开,你的应用程序可以容纳更多数据。 如果预期用户将存储大量的数据,你可能会考虑使用多个 Access 数据文件。
你还应查看 Access 程序规范来了解其他可扩展性信息。 若要详细了解 Access 规范,请参阅 Access 规范一文。
-
网络容量 如果多个用户需要在网络上同时使用该应用程序,那么在数据和逻辑结合在一个文件中的情况下,更可能发生数据损坏。 此外,如果将数据和逻辑结合在一个 Access 文件中,将无法优化 Access 生成的网络流量。 如果多个用户在网络上同时使用你的应用程序,你应通过以下方式将数据和逻辑分开:使用两个或更多 Access 文件;或者为数据使用数据库服务器产品,并为应用程序逻辑使用 Access。
网络环境将会怎样?
为网络环境选择正确的 Access 数据库解决方案是成功的关键步骤。 使用以下指南来帮助你根据需要做出最佳选择。
家庭网络
如果只有少数用户要与之共享 Access 数据库,则可以使用每个人在家庭网络上打开和使用的单一数据库。 有关详细信息,请参阅 Windows 10 中通过网络进行文件共享。
局域网 (LAN)
LAN 是一种内部网络,通常具有出色的性能,但仅限于较小的地理区域,例如单个房间、建筑物或建筑物组。 如果有多个用户在 LAN 上共享数据库,则最好拆分数据库,将后端数据库存储在网络文件夹中,并为每个用户部署前端数据库的副本。
广域网 (WAN)
WAN 有许多可能的配置,涵盖广泛的地理区域。 你可能在一个城市中有多个办公室连接到公用网络、租用线路甚至卫星。 通常,虚拟专用网络 (VPN) 用于从家庭或路上进行安全远程访问。 了解 WAN 的一种简单方法是,每当在 LAN 外部但连接到它时,你都在使用 WAN。
Azure 文件共享
Azure 文件共享 不是一种单独的网络类型,而是提供了一种通过网络使用文件共享的方法,而无需文件服务器。 但是,使用 Azure 文件共享可能会引发类似于在 WAN 中使用 Access 拆分数据库时出现的问题。
警告 避免在 WAN 或 Azure 文件共享中使用 Access 拆分数据库,因为性能可能很慢,数据库可能会损坏。
在 WAN 中或在 Azure 文件共享上使用拆分数据库支持的替代方法是:
-
将数据存储在外部存储中,并创建链接表以:
-
SharePoint 列表
-
SQL Server 或 Azure SQL
-
Dataverse
-
-
远程桌面服务 (RDS) (以前称为终端服务器) ,用于在用户的客户端计算机上创建虚拟 Windows 桌面环境。 RDS 有几个优点:
-
无需安装 Access 或 Access 数据库,因为用户运行远程桌面 (RD) 客户端,该客户端在许多设备上可用。
-
客户端和服务器之间的数据传输将最小化,因为 RD 是一个仅对用户界面进行高效流式传输的瘦客户端。
-
用户仍可以从客户端计算机本地复制和粘贴数据以及打印报表。
-
RemoteApp 只能运行单个程序,例如面向供应商或一线工作人员的统包应用程序。
有关详细信息,请参阅欢迎使用 远程桌面服务。
-
用户是否会有 Access?
如果你的所有用户都将在其计算机上安装 Access,他们可以像打开和使用任何 Access 数据库文件一样打开或使用应用程序。
如果部分或所有用户的计算机上未安装 Access ,也可以在部署应用程序时将 Access Runtime 软件部署到这些用户。 有关详细信息,请参阅 了解并下载访问运行时。
部署 Access 应用程序
若要部署 Access 应用程序,需要执行以下任务。
准备数据库作为应用程序解决方案
若要锁定解决方案、控制导航和启动,并设置其他重要选项,请执行以下操作:
任务 |
更多信息 |
确定用户如何导航用户界面:使用默认窗体、创建切换板、使用导航窗体或使用超链接和命令按钮。 |
|
确定是否要自定义 Office 功能区和命令菜单 |
|
应用一致的 Office 主题和背景 |
|
控制数据库启动 |
|
设置重要属性和选项 |
|
修改区域设置 |
提示 若要彻底了解,请浏览“ 访问选项 ”对话框, (“ 文件 > 选项”) 然后单击每个选项卡的帮助。 可能还需要控制应用程序解决方案的其他选项。
部署之前
在部署前端数据库之前,请考虑以下最佳做法:
-
努力使解决方案获得最佳性能。 有关详细信息,请参阅 帮助访问更快运行 和 Microsoft Access 性能提示以加快 Access 数据库的速度。
-
压缩并修复数据库。 有关详细信息,请参阅 压缩和修复数据库。
-
备份数据库,以便获得原始数据库的原始安全副本。 有关详细信息,请参阅 使用备份和还原过程保护数据。
-
使用数据库文档器打印数据库对象的设计特征。 有关详细信息,请参阅 文档和打印数据库设计。
-
确定要如何保护文件。 可以采用以下几种方法:
-
将安全证书添加到数据库。 有关详细信息,请参阅 通过添加数字签名显示信任 和 决定是否信任数据库。 如果执行此操作,请确定要如何控制数据库中的消息栏。 有关详细信息,请参阅 在消息栏上启用或禁用安全警报。
-
使用受信任位置来存储前端数据库,以避免信任中心检查该数据库,或者如果不希望该数据库在受保护的视图中打开。 有关详细信息,请参阅 添加、删除或更改受信任位置。
-
加密数据库文件。 有关详细信息,请参阅 使用数据库密码加密数据库。
-
若要确保用户无法修改表单、报表或 VBA 代码的设计,请考虑使用编译的二进制文件 (.accde) 。
-
决定要使用的文件格式
部署应用程序时,可以使用四种 Access 文件格式:
-
.accdb 这是 Access 的默认文件格式。 采用这种格式部署应用程序时,用户在选择自定义和导航方式时的选项最多。 如果要确保用户不会更改应用程序设计,你应使用 .accde 文件格式。 此外,在你将 .accdb 文件打包后,用户无法轻松确定该文件是否已更改 — 为了让这一点显而易见,请使用 .accdc 文件格式。
-
.accdc 这种格式也称为 Access 部署文件。 Access 部署文件由应用程序文件和与该文件关联的数字签名组成。 这种文件格式可让用户确信:在你将应用程序文件打包后没有人更改过该文件。 可以将此格式应用于默认格式 Access 文件 (.accdb),或应用于 Access 已编译二进制文件 (.accde)。 有关详细信息,请参阅 通过添加数字签名来显示信任。
你只能在 Access 部署文件中放置一个应用程序文件。 如果你的应用程序有单独的数据和逻辑文件,你可以将它们单独打包。
-
.accde 此格式也称为已编译二进制文件。 在 Access 中,已编译二进制文件是一个数据库应用程序文件,该文件在保存时编译了所有 VBA 代码。 Access 已编译二进制文件中没有任何 VBA 源代码。 .accde 文件可防止设计和代码更改,减小数据库的大小,并有助于提高性能。 有关详细信息,请参阅 对用户隐藏 VBA 代码。
你可以使用 Access 运行时来打开 Access 已编译二进制文件。 如果运行时无法识别 .accde 文件扩展名,请通过创建指向运行时的快捷方式打开二进制文件,并包含要打开该快捷方式的已编译二进制文件的路径。
重要提示 如果早期版本不支持在更高版本中添加的功能,则用户无法使用早期版本的 Access 打开编译后的二进制文件。如果早期版本不支持在更高版本中添加的功能,则使用早期版本的 Access。 若要解决此问题,请在用户已安装的 Access 版本中编译二进制文件。
-
.accdr 这种格式使你能够部署在运行时模式下打开的应用程序。 部署运行时应用程序可帮助控制其使用方式,尽管这不是一种保护应用程序安全的手段。 有关运行时模式的详细信息,请参阅“了解 Access 运行时”部分。
安装和升级 Access 前端数据库
采用拆分数据库设计时,需要将前端数据库分发给每个用户。 若要顺利进行,请考虑以下最佳做法:
-
确保每个用户都有正确的 Access 版本,并且前端数据库以正确的版本打开。 Access 还具有 32 位和 64 位版本。 运行错误的“位”可能会影响 Windows API 调用、DLL 库引用和 ActiveX 控件。 有关详细信息,请参阅选择 64 位或 32 位版本的 Office。
-
为可能需要的其他文件(包括数据库驱动程序、用于安装和配置的批处理文件以及应用程序相关文件)创建安装包。 有关详细信息,请参阅 创建安装包。
-
提供 Windows 桌面快捷方式,以便用户可以快速运行 Access 解决方案。 在快捷方式中包括文件夹位置、有意义的快捷方式名称、说明和图标。 有关详细信息,请参阅 为 Office 程序或文件创建桌面快捷方式。
提示 指导用户如何将 应用固定到“开始”菜单。
-
确定在需要更新时重新部署和替换前端数据库的有效方法,并维护文件版本以跟踪更改。 例如,可以添加 VBA 代码来检查新版本,并在用户启动应用程序之前自动升级。
-
使用包含连接字符串的 DSN 文件创建 ODBC 连接时,还需要在每个客户端计算机上安装该 DSN 文件。 另一种方法是在 VBA 代码中创建“无 DSN”连接,无需使用 DSN 文件。 有关详细信息,请参阅 使用 DSN-Less 连接。
了解并下载 Access 运行时
若要部署无需在用户计算机上安装 Access 即可运行的 Access 应用程序,可以将其与 Microsoft 下载中心免费提供的 Access 运行时一起分发。 使用 Access 运行时打开 Access 数据库时,数据库将在运行时模式下打开。
运行时模式是一种 Access 操作模式,其中包含默认情况下未提供的 Access 功能。 而其中部分未提供的功能可在运行时模式下提供。
运行时模式下未提供哪些功能?
运行时模式下未提供以下 Access 功能:
-
特殊键 用于绕过数据库中启动选项的键(如 Ctrl+Break、Ctrl+G 和 Shift 键)。
-
导航窗格 运行时模式下未提供“导航窗格”。 这有助于防止用户访问数据库应用程序中的任意对象。 在使用运行时模式时,只能打开向用户公开的对象(例如,通过提供导航窗体)。 你无法在运行时模式下提供“导航窗格”。
-
功能区 默认情况下,运行时模式下未提供“功能区”。 这有助于防止用户创建或修改数据库对象以及执行其他可能有害的操作,例如连接到新数据源,或者以你不希望的方式导出数据。 你不能在运行时模式下公开默认功能区选项卡。 但是,可以创建自定义功能区,然后将该功能区与窗体或报表相关联。 有关详细信息,请参阅 在 Access 中创建自定义功能区。
-
设计视图和布局视图 运行时模式下未提供任何数据库对象的设计视图和布局视图。 这有助于防止用户修改数据库应用程序中对象的设计。 你不能在运行时模式下启用设计视图或布局视图。
-
帮助 默认情况下,运行时模式下未提供集成的“帮助”。 由于你控制在运行时模式应用程序提供哪些功能,因此某些标准集成 Access 帮助可能与使用你的应用程序的用户无关,并可能会让他们感到困惑或失望。 可以创建自己的自定义帮助文件来补充运行时模式应用程序。
如何模拟运行时模式?
在安装了 Access 完整版本的计算机上,你可以在运行时模式下运行任何 Access 数据库。 若要在运行时模式下运行 Access 数据库,请执行下列操作之一:
-
将数据库文件的文件扩展名从 .accdb 更改为 .accdr。
-
使用 /Runtime 命令行开关创建数据库的快捷方式。
-
在 Windows 桌面中,右键单击并选择“ 新建 > 快捷方式”。
-
输入 MSAccess.exe 的位置、数据库的位置和 /runtime 命令限定符。 例如:
"C:\Program Files\Microsoft Office\MSACCESS.EXE" "C:\MyDB.accdb" /runtime
有关详细信息,请参阅 为 Office 程序或文件创建桌面快捷方式。
-
运行时模式是否让我的数据库更安全?
尽管运行时模式限制了导航和设计功能的可用性,但你不应使用运行时模式作为保护数据库应用程序安全的主要手段。 在安装了 Access 完整版本的计算机上,用户可以将运行时数据库应用程序作为常规数据库应用程序打开(也就是说,所有功能可用),然后更改设计或执行其他不需要的操作。
即使仅在未安装 Access 完整版本的计算机上部署数据库应用程序,用户仍然可以将应用程序转移到安装了 Access 完整版本的计算机,然后以常规数据库应用程序形式打开运行时数据库应用程序。
下载 Access 运行时
注意: 对于 Access 2019 Enterprise,请勿下载和安装运行时 - 这样做会将完整版本的 Access 替换为仅运行时。 请改用 Office 部署工具 指定安装 AccessRuntimeRetail 产品。
若要从 Microsoft 下载中心下载 Access 运行时,请单击适用于你的版本的链接。
-
注意 此访问运行时也适用于 Office 2019 使用者许可证。
无需购买便可下载、使用或重新分发 Access 运行时,并且可分发运行时的用户数量没有限制。
创建安装包
根据 Access 的版本,可以采用多种方法。
使用常规安装包
对于较新版本的 Access,可以使用 Windows Installer 或搜索创建安装包的第三方程序。