Locking

Sybase 12 的行為類似於 Oracle 和 SQL Server 2014 - 非阻塞事務讀取

  • May 2, 2016

我們使用 ODBC 連接,因此我們的程式碼可以訪問各種數據庫 - 即 Oracle、Sybase 12 和 SQL Server 2014。

注意:我們有一個稱為鎖的表。該表中只有一條記錄,並且它要麼是空的,要麼是由誰擁有鎖來填充的。

我有一個場景,雖然應用程序與 Oracle 或 SQL Server 2014 有 ODBC 連接,但應用程序執行良好,測試場景是 - 兩個程序訪問數據庫 - 一個執行長時間執行的任務,另一個執行短任務。如果我連接到 Sybase 並執行相同的活動,則其中一個程序塊(短任務之一)。我在這裡猜測,在 Sybase 中,鎖表被寫入、鎖定並在事務中釋放,而另一個程序正在等待事務的送出\回滾以使用該表。

為什麼它在 SQL Server 2014 和 Oracle 中工作但在 Sybase 12 中阻塞?在 Sybase 12 中需要 ON\OFF 什麼選項才能獲得 Oracle 和 SQL Server 2014 的行為?

我終於在 Sybase Central 中找到了數據庫的選項,並嘗試了各種選項,我讓它可以打開“allow_snapshot_isolation”,預設情況下它是關閉的。

引用自:https://dba.stackexchange.com/questions/136181