访问 2007 - accdb;跨多个服务器建立可靠的多用户环境的选项?

Posted

技术标签:

【中文标题】访问 2007 - accdb;跨多个服务器建立可靠的多用户环境的选项?【英文标题】:Access 2007 - accdb; options in setting up a reliable multi-user environment across multiple servers? 【发布时间】:2011-03-27 16:13:47 【问题描述】:

我无法对多用户环境中使用的 Access 2007 的所有信息/各种选项进行排序。下面简单介绍一下我目前的情况。在工作中有“商务局域网”,我可以登录并使用它通过远程桌面监控另外两台服务器。业务局域网由我们的IT部门严格控制,未经他们同意,任何人不得安装任何软件或驱动程序。不过,我确实在两台服务器上都拥有管理权限。

我使用 RD 登录的两台服务器基本上用于相同的任务,即监控和控制不同工艺线的热量。每个服务器运行不同的程序来完成此任务,但两个程序都使用 SQL Server 作为后端。

我创建了两个访问数据库(每个服务器上一个,因为它们当前位于单独的防火墙后面),以便从这些程序的后端 SQL 端查询信息,并将其与我在表格中编译的相关信息相结合,以便添加更多程序正在收集的数据的详细信息。我的程序仍处于调试阶段,但最终这些信息可以由现场技术人员/维护人员访问,以使他们的工作更轻松。维护人员还可以根据维修状态等添加更多信息。最后,我创建了可供经理/工程师运行的报告,他们正在寻找他们所在区域的整体状态。

两个访问数据库都是拆分的,因此后端与表单、查询等分开......我使用 ODBC 数据源来导入到 SQL 的链接。我正在使用 vba 进行用户身份验证、用户日志记录更新和用户/组访问控制。一切都按照我的意图进行,除了我每个登录服务器的人都将尝试运行相同的前端副本。例如,我让一位同事通过 RD 登录到服务器来测试程序,然后我从办公桌上登录。登录后,我可以看到他打开的表格。访问已经在运行。由于无法在每个个人工作站上安装本地访问(或什至运行时,由于 IT 限制),我不确定采取什么方法来解决这个问题。

附加信息,服务器 1 其中一个服务器被认为是“主服务器”,许多客户站“从服务器”都在其中进行通信。访问主服务器上的文件夹的唯一方法是登录到客户端工作站并运行 RD。

服务器 2 该服务器被认为是“历史服务器”。它与终端服务器通信,用户使用 RD 登录并运行使用驻留在历史数据库中的 SQL 后端的应用程序。我已经能够设置共享,以便在终端服务器的历史记录中可以看到某些文件夹。

谁能告诉我最好的选择是什么?

提前致谢。

CTN

【问题讨论】:

【参考方案1】:

有些 IT 部门千方百计地让你的工作难以做好,这真是太疯狂了。

您暗示用户通过终端服务器登录。如果是这样,也许您可​​以将前端存储在他们的终端服务器登录的用户配置文件中?当然,这假设他们不只是使用两个默认的管理终端服务器登录。

我不清楚的另一件事是为什么您在 Access/Jet/ACE 中需要一个后端——为什么不直接通过 ODBC 链接到 SQL Server 并直接使用该数据?在这种情况下,拥有包含数据表的独立 Jet/ACE 文件的唯一原因是,如果您为 Access 应用程序存储的数据未存储在 SQL Server 中。您可能还有临时表(例如,用于暂存复杂报告等),但这些表应该在每个用户的临时数据库中,而不是在共享后端。

【讨论】:

【参考方案2】:

以下是如何实现 David Fenton 所写内容的建议:编写一个简单的批处理脚本,将前端从安装路径复制到 %TEMP%(当前用户会话的临时文件夹)并从那里运行前端。类似于

 rem make sure current directory is where the script is
 cd /d %~d0%~p0
 rem assume frontend.mdb is in the same folder as the script
 copy /y frontend.mdb %temp%
 start %temp%\frontend.mdb

告诉你的用户不要直接运行前端,只能通过批处理脚本,那么每个人都应该得到自己的前端副本。或者,在安装路径中给你的前端一个不同的后缀,并在复制到 %temp% 时将其重命名为“frontend.mdb”。

【讨论】:

感谢 Doc 和 @David-W-Fenton 抽出时间回答我的问题。 感谢 Doc 和 @David-W-Fenton 花时间回答我的问题。是的,我的后端包含许多有用的数据,用于优先处理程序不提供的警报。可能会在某个时候将我的表上传到 SQL 中。用户使用不提供管理访问权限的通用组登录来访问服务器。除了维护这些系统的承包商之外,维护人员的数量使个人用户帐户成为我没有的选择。我肯定会尝试使用批处理文件在临时目录中创建前端的副本。再次感谢。 如果允许我为我的实用程序插入另一个解决方案,以确保及时更新前端,这是 www.autofeupdater.com 上的 Auto FE Updater。它还解决了许多其他问题,包括初始分发和确保用户仅使用该实用程序来启动他们的前端。

以上是关于访问 2007 - accdb;跨多个服务器建立可靠的多用户环境的选项?的主要内容,如果未能解决你的问题,请参考以下文章

将 Access 2007 accdb 编译成 accde

Access 2007 不会打开 accdb 文件,除非它被重命名

删除数据后如何减小 ms access 数据库文件大小(*.accdb)(MS Office 2007)

如何跨多个微服务提供用户身份?

不可识别的数据库格式,我用office2007的,ACCESS数据库格式是accdb的?请指教

ACCDB 和 MDB 文件格式之间的区别