【发布时间】:2016-02-02 14:38:31
【问题描述】:
好的,我们有一个多用户(25 个用户)Access 2013 FE 和一个 SQL Server 2012 BE。直到昨天,整个系统都运行良好,现在完全停止了。
- 如果用户 A 通过从 TABLE Z 读取的直接选择查询打开了一条记录,那么如果用户 B 尝试在 TABLE Z 上执行插入操作,他们会收到超时消息。当我转到 SQL Server 并运行 SP_WH02 时,它显示用户 B 被用户 A 阻止。当我随后调查阻止用户 B 的命令时,它只是一个简单的 SELECT 语句。
有人知道为什么会这样吗?
用户 A 打开的表单有 Record Locks = No Locks 和 Recordset Type = Dynaset
记录源是一个SELECT,检索两个字段,其中关键字段是基于另一个值的参数。
但是,这个系统几个月来没有任何变化,所以我很困惑为什么会发生这种情况。
感谢您的帮助。
【问题讨论】:
-
检查访问:文件->选项->客户端设置->高级->默认记录锁定。应该是“无锁”。
-
用户A的表格是连续表格,有很多记录吗?如果是,当 A 走到列表末尾时它是否有效(所有记录都加载到 Access 中并显示记录号)?
-
默认记录锁定 = 无锁定。是否勾选了使用记录级锁定打开数据库?
-
它不是连续的no,只是一个单一的形式。
-
更新:当任何用户对表 Z 运行选择时,我们无法再执行任何插入操作
标签: sql sql-server ms-access ms-access-2013