我如何锁定一个表,阻止其他用户在更新其内容时查询它?
目前我的数据是通过擦除表并重新填充它来更新的(我知道,这不是更新数据的最佳方式,但源数据没有唯一的密钥来通过记录更新来执行记录,这是唯一的办法)。存在一种不太可能的但可能的情况,即用户在更新过程中访问该表并在其为空时捕获它,从而返回错误信息。
在SQL(或代码)级别是否存在创建阻塞语句的方法,该语句将在查询之前等待数据库更新完成?
答案 0 :(得分:1)
Access几乎没有锁定功能。除非您将数据存储在不同的后端,否则您只能设置数据库范围的锁定或根本不设置锁定。
当表的表结构被更改时,有一些锁定功能设置表锁,但据我所知,用户无法使用(无论是通过GUI还是通过VBA)< / p>
请注意,ADO和DAO都支持锁定(在ADO中通过设置IsolationLevel
,在DAO中通过在执行查询时设置dbDenyRead + dbDenyWrite
),但在我的简短测试中,这些选项绝对没有任何关系访问。