我想在事务执行时锁定 MDB 表以防止读取。我会使用dbDenyRead
,但显然这是不可靠的,并不总是锁定表:
http://www.office-archive.com/32-ms-access/c2bd1a2553e79c60.htm
如何使用信号量解决方案来实现对表的虚拟锁定?
如果我将信号量存储在另一个表中,其中一行包含表名和将在事务结束时清除的进程/工作站 ID,我该如何防止以下序列?
- 进程 A 查询信号量表,发现它是空白的。
- 进程 B 查询信号量表,发现它是空白的。
- 进程 A 使用进程 A ID 更新信号量表。
- 进程 B 使用进程 B ID 更新信号量表。
- 进程 A 和 B 都执行事务(不是我想要的)。
请不要包含使用IF
SQL 语句的答案,因为我的 JET-SQL 版本不能使用它。