在通过 ODBC 连接到 PostgreSQL 的 Access 中编辑新记录时发生冲突

在通过 ODBC 连接到 PostgreSQL 的 Access 中编辑新记录时发生冲突

我有一个设置,以 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.

我肯定是唯一一个访问数据库的人,我可以毫无问题地修改/删除旧记录。只有我自己创建的记录才会出现此问题。

答案1

我在这里找到了答案:

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

我的问题是由一个timestamp有约束的字段引起的default now()。由于 PostgreSQL 中的时间戳默认比 Access 具有更高的精度,因此通过内部函数自动更新now()会因值不匹配而导致冲突。通过使用timestamp(0)而不是降低数据库中的精度可以timestamp解决问题。

相关内容