2017-08-29 245 views
1

在我的vb應用程序中,我有一個查詢來更新表中的一列。 但由於一個事實,即該數據庫鎖定模式屬性是在informix中設置鎖定模式以在執行查詢之前等待

SET LOCK MODE TO NOT WAIT

有時更新運行的查詢時,我得到這樣的錯誤:

SQL ERR: EIX000: (-144) ISAM error: key value locked 
EIX000: (-245) Could not position within a file via an index. (informix.table1) 

我的問題是,是否安全執行:

1st SET LOCK MODE TO WAIT; 

2nd the update query; 

3rd SET LOCK MODE TO NOT WAIT; 

或者你可以指向我其他的解決辦法,如果這是不是安全

回答

2

這是「安全」做了三次手術的建議,但在操作運行...

  • 您的應用程序可能會阻止不確定的時間。
  • 如果以某種方式終止查詢,但不重置鎖定模式,則代碼的其他部分可能會意外掛在鎖上。

考慮超時等待是否合適。

每個線程(如果存在線程)在三次操作期間應該對一個連接具有獨佔訪問權限。

相關問題