gpt4 book ai didi

ms-access - 强制所有用户与 2010 Access 后端数据库断开连接

转载 作者:行者123 更新时间:2023-12-04 16:35:28 25 4
gpt4 key购买 nike

我们有多用户前端/后端 MS Access 2010 应用程序。我们添加了一个进程,当我们想要在后端工作(例如压缩和修复)时,该进程将关闭远程前端。这是对表字段的基于计时器的检查,如果具有特定值将关闭应用程序。

我做了两个检查,看看用户是否连接到数据库:

  • 我有登录/注销过程,可以看到谁仍然登录(基于它的表单所以是错误的,例如他们关闭表单但前端仍然打开)。
  • 我使用 .ldb 文件查看器查看是否仍有连接

  • 两个问题:
  • 如果使用 ldb 查看器无法查看,是否有可能存在与支持的连接?
  • 是否有任何防弹 100% 确定的方法来强行断开与后端的所有连接?
  • 最佳答案

    用户将“锁”放入 LDB。 LDB 是一种用于 MS Access 的锁数据库。

    用户还将“锁定”放在 LDB 和 MDB 上。这些锁是 Windows 和 Windows 网络提供的 native 数据库原语的一部分。

    如果 ldb 中没有锁,则用户没有写入 MDB。

    如果 mdb 上没有锁定,则用户没有使用该 Windows/网络服务。

    要在 MDB 上获得独占锁定,您需要两者。当 LDB 有显示其他人正在使用数据库的条目时,MSAccess 不会让你排他锁,而当它有显示其他人正在使用数据库的锁时,Windows 不会给你排他锁。

    要 100% 防弹清空 LDB,您可以删除 LDB。这就是为什么 Access 总是尝试在关闭时删除 LDB。如果 Access 崩溃,或者网络断开,或者 PC 或服务器关闭,LDB 将有尚未删除的数据(“锁”)。您可以通过删除 LDB 来摆脱它们。

    如果用户在 LDB 上仍有 Windows/网络锁定,则 Access 将无法删除 LDB。由于 Access 会忽略现有的“锁定”条目以清除损坏的“锁定”条目,这就是 Access/Windows 在其他用户仍在使用 LDB 时阻止 Access 删除 LDB 的方式。

    如果存在 Windows 锁或 Access/LDB“锁”,您将无法获得独占所有权。如果只有 Access/LDB“锁”存在,您可以删除LDB,然后获得独占所有权。

    如果存在任何 Windows/网络锁定,则您对 Access 所做的任何事情都不能让您断开其他人与网络的连接。您需要转到托管文件的服务器/PC,并强制断开连接。 Access 不是为您执行此操作的网络管理程序。

    我上次查看时,Windows Server 默认设置为在网络 session 丢失 15 分钟后超时断开的文件连接。因此,如果您关闭 PC,请等待 15 分钟,然后 Windows/网络锁定将关闭(默认时间)。或者:管理工具、计算机管理、系统工具、共享文件夹、 session 。选择要解锁的文件,然后删除 session 。

    关于ms-access - 强制所有用户与 2010 Access 后端数据库断开连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10905680/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com