Access 为开发数据库应用程序提供了功能丰富的平台。 数据库应用程序是一种计算机程序,它既提供了一种用于存储和管理数据的方式,也提供了一个遵循业务任务逻辑(应用程序逻辑)的用户界面。 本文讨论了基本部署规划、打包和签名、部署数据库应用程序以及 Access 运行时环境。
您要做什么?
规划部署
开始之前,你应该询问自己有关应用程序部署方式的以下问题。
是否应将数据和逻辑分开?
你可以创建一个将数据管理和应用程序逻辑组合在一个文件中的 Access 应用程序。 这是 Access 中的默认应用程序结构。 将数据管理和应用程序逻辑组合在一个文件中提供了最简单的部署方法,但这种方法只有在少数人同时使用应用程序时才最有效,并且涉及一定的风险。 例如,用户可能会无意删除或损坏应用程序文件,从而导致数据丢失。 大多数情况下,应将数据管理和应用程序逻辑分开。 这有助于提高性能和可靠性。
将数据和逻辑分开的一种方法是使用“Access 数据库”命令(在“移动数据”组中的“数据库工具”选项卡上)。 此命令会将数据库应用程序拆分为两个 Access 文件:一个用于逻辑 (前端) ,另一个用于数据 (后端) 。 例如,名为 MySolution.accdb 的数据库拆分为两个文件,分别称为 MySolution_fe.accdb 和 MySolution_be.accdb。 您将后端数据库放置在共享位置,例如网络文件夹。 您将前端文件(每个用户一个副本)分发到其计算机。 甚至可以将不同的前端文件分发给不同的用户。 有关详细信息,请参阅 拆分 Access 数据库。
另一种将数据管理和应用程序逻辑分开的方法是:为数据管理使用数据库服务器程序(例如 Microsoft SQL Server),并为应用程序逻辑使用 Access。 有关详细信息,请参阅将 Access 数据库迁移到 SQL Server。
分离数据和逻辑的其他原因包括:
-
数据完整性和安全 如果将数据和逻辑合并到一个文件中,则数据将面临与应用程序逻辑相同的风险。 使用单独逻辑和数据文件的 Access 应用程序可利用网络文件夹上的 NTFS 安全功能帮助保护数据完整性和安全性。
访问用户必须对前端文件所在的文件夹具有读取、写入、创建和删除权限。 但是,可以为前端文件本身分配不同的权限。 例如,您可能希望向某些用户分配只读权限,并为其他用户分配读取/写入权限。
你的应用程序可能需要进一步的安全选项,例如能够控制哪些用户对特定数据具有访问权限。 在这种情况下,可以使用 SQL Server 或 SharePoint 来存储和管理应用程序数据,并使用 Access 提供应用程序逻辑。 -
可伸缩性 Access 文件的最大大小为 2 GB (GB) 。 尽管 2GB 对于文本数据而言是海量,但对于某些应用程序(尤其是在数据库记录中存储附件的应用程序)而言则可能不足。 如果将数据和逻辑分开,你的应用程序可以容纳更多数据。 如果预计用户将存储大量数据,则可以考虑使用多个 Access 数据文件。
您还应该查看 Access 程序规范以了解其他可伸缩性信息。 若要了解有关 Access 规范的详细信息,请参阅 Access 规范一文。 - 网络容量 如果多个用户需要同时通过网络使用应用程序,则如果数据和逻辑组合在一个文件中,则更有可能发生数据损坏。 此外,如果将数据和逻辑结合在一个 Access 文件中,将无法优化 Access 生成的网络流量。 如果多个用户在网络上同时使用你的应用程序,你应通过以下方式将数据和逻辑分开:使用两个或更多 Access 文件;或者为数据使用数据库服务器产品,并为应用程序逻辑使用 Access。
网络环境将会怎样?
为网络环境选择正确的 Access 数据库解决方案是取得成功的关键一步。 使用以下准则帮助你做出最适合需求的选择。
家庭网络
如果只有少数用户可与之共享 Access 数据库,则可以使用单个数据库,每个人在家庭网络上打开和使用该数据库。 有关详细信息,请参阅 Windows 10 中通过网络共享文件。
局域网 (局域网)
LAN 是一种内部网络,通常具有出色的性能,但仅限于较小的地理区域,例如单个房间、建筑物或一组建筑物。 当有多个用户在 LAN 上共享数据库时,最好拆分数据库,将后端数据库存储在网络文件夹中,并为每个用户部署前端数据库的副本。
广域网 (WAN)
WAN 有许多可能的配置,它覆盖了广泛的地理区域。 您可能在一个城市拥有多个办公室,连接到公共网络、专线甚至卫星。 通常,虚拟专用网络 (VPN) 用于从家里或路上进行安全的远程访问。 理解 WAN 的一个简单方法是,只要您处于 LAN 之外但连接到 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 Runtime 软件部署到这些用户。 有关详细信息,请参阅 了解并下载 Access 运行时。
部署 Access 应用程序
要部署 Access 应用程序,你需要执行以下任务。
准备数据库作为应用程序解决方案
若要锁定解决方案、控制导航和启动以及设置其他重要选项,请执行下列操作:
| 任务 | 详细信息 |
|---|---|
| 决定用户如何导航用户界面:使用默认窗体、创建总机、使用导航窗体或使用超链接和命令按钮。 |
设置在打开 Access 数据库时显示的默认窗体 创建导航窗体 自定义导航窗格 显示或隐藏对象选项卡 特色 Access 模板 切换面板哪去了? |
| 确定是否要自定义 Office 功能区和命令菜单 |
在 Access 中创建自定义功能区 使用宏创建自定义菜单和快捷菜单 使用早期版本 Access 中的自定义工具栏和启动设置 |
| 应用一致的 Office 主题和背景 |
添加 Office 背景 更改 Office 主题 |
| 控制数据库启动 |
向数据库中添加自定义标题或图标 打开数据库时绕过启动选项 创建在打开数据库时运行的宏 Microsoft Office 产品的命令行开关 |
| 设置重要的属性和选项 |
在代码中设置启动属性和选项 查看或更改 Office 文件的属性 |
| 修改区域设置 | 更改 Windows 区域设置以修改某些数据类型的外观 |
提示 若要更详细,请浏览“ Access 选项 ”对话框 (“ 文件>选项 ”) ,然后单击每个选项卡的帮助。可能要为应用程序解决方案控制其他选项。
部署之前
在部署前端数据库之前,请考虑以下最佳做法:
努力从解决方案中获得最佳性能。 有关详细信息,请参阅 帮助 Access 运行得更快 和 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 版本中编译二进制文件。 - .accdr 使用此格式,您可以部署在运行时模式下打开的应用程序。 部署运行时应用程序可帮助控制其使用方式,尽管这不是一种保护应用程序安全的手段。 有关运行时模式的详细信息,请参阅“了解 Access 运行时”部分。
安装和升级 Access 前端数据库
采用拆分数据库设计时,需要将前端数据库分发给每个用户。 为了使事情顺利进行,请考虑以下最佳实践:
- 确保每个用户都有正确的 Access 版本,并且前端数据库以正确的版本打开。 Access 还有 32 位和 64 位版本。 运行不正确的“位数”可能会影响 Windows API 调用、DLL 库引用和 ActiveX 控件。 有关详细信息,请参阅选择 64 位或 32 位版本的 Office。
- 为可能需要的其他文件创建安装包,包括数据库驱动程序、用于安装和配置的批处理文件以及与应用程序相关的文件。 有关详细信息,请参阅 创建安装包。
- 提供 Windows 桌面快捷方式,以便用户可以快速运行 Access 解决方案。 在快捷方式中包括文件夹位置、有意义的快捷方式名称、描述和图标。 有关详细信息,请参阅为 Office 程序或文件创建桌面快捷方式。
提示 指示用户如何将 应用固定到“开始”菜单。 - 确定在需要更新时重新部署和替换前端数据库的有效方法,并维护文件版本以跟踪更改。 例如,您可以添加 VBA 代码来检查新版本并自动升级,甚至在用户启动应用程序之前。
- 使用包含该连接字符串的 DSN 文件创建连接字符串时,还需要在每台客户端计算机上安装该 DSN 文件。 另一种方法是在 VBA 代码中创建“无 DSN”连接,以消除对 DSN 文件的需求。 有关详细信息,请参阅 使用 DSN-Less 连接。
了解并下载 Access 运行时
若要在用户的计算机上部署无需安装 Access 即可运行的 Access 应用程序,可以将它们与 Access 运行时一起分发,Access 运行时可从 Microsoft 下载中心免费获取。 使用 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 企业版,请勿下载并安装运行时 - 这样做将仅使用运行时替换完整版本的 Access。 相反,请使用 Office 部署工具 指定已安装 AccessRuntimeRetail 产品。
若要从 Microsoft 下载中心下载 Access Runtime,请单击相应的链接。
-
下载和安装 Office 365 Access 运行时
备注 此 Access 运行时也适用于 Office 2019 消费者许可证。 - 下载并安装 Microsoft Access 2016 运行时
无需购买便可下载、使用或重新分发 Access 运行时,而且对可分发运行时的用户数没有限制。
创建安装包
根据 Access 版本的不同,你可以采取多种方法。
使用常规安装包
对于较新版本的 Access,可以使用 Windows Installer 或搜索可创建安装包的第三方程序。