Postgresql

在通過 ODBC 連接到 PostgreSQL 的 Access 中編輯新記錄時發生衝突

  • September 5, 2019

我有一個使用 Microsoft Access 2010 作為前端和在 Linux 上執行的 PostrgreSQL 伺服器 9.5.12 作為後端的設置。Windows PC 已安裝 PostrgreSQL ODBC 驅動程序版本 10_02_0000(目前最新)。連接基於 Unicode,設置為預設設置,但Bool as char禁用和True is -1啟用除外。

我遇到的問題是從 Access 添加的新記錄立即被鎖定,之後無法修改/刪除。錯誤資訊是:Microsoft Access database engine stopped the process because you and another user are attempting to change the same data at the same time.

我絕對是唯一一個訪問數據庫的人,我可以毫無問題地修改/刪除舊記錄。該問題僅發生在我自己創建的記錄上。

我在這裡找到了答案:

https://stackoverflow.com/questions/25088970/ms-access-odbc-with-postgresql-table-write-conflict

我的問題是由一個timestampdefault now()約束的欄位引起的。因為PostgreSQL中的timestamp預設比Access精度更高,所以通過內部函式自動更新now()會因為值不匹配而導致衝突。timestamp(0)通過使用而不是僅僅timestamp解決問題來降低數據庫的精度。

引用自:https://serverfault.com/questions/907681