我想在事務執行時從讀取鎖定MDB表。我會用dbDenyRead
但顯然這是不可靠的,並不總是鎖表:如何使用信號鎖定表?
http://www.office-archive.com/32-ms-access/c2bd1a2553e79c60.htm
如何使用信號量的解決方案,以實現對錶的虛擬鎖?
如果我將信號存儲在另一個表中,其中一行含有表名和一個將在事務結束時清除的進程/工作站ID,如何防止以下順序?
- 方法A的查詢信號表,發現它爲空白。
- 進程B查詢信號量表並發現它爲空。
- 進程A使用進程A ID更新信號量表。
- 進程B使用進程B標識更新信號量表。
- 進程A和B都執行事務(不是我想要的)。
請沒有答案,其中包括使用IF
SQL語句的,因爲我的JET-SQL的版本不能使用。
你打算如何處理「proc A獲得鎖,proc A開始在受保護的表中工作,proc A崩潰」? –
@Damien_The_Unbeliever:如果proc崩潰,那麼它的事務將不會被提交,並且它的鎖將被釋放,對嗎? – CJ7
我不確定 - 如果您無法從系統獲得許多原子性保證,您似乎正在使用相當破碎的技術,正如您似乎指出的那樣。 –