A“僵局更新与并发更新发生冲突”发生时,当多个事务要修改同一行时。只有一个更新者可以真正改变行并提交。只要第一个事务尚未提交,第二笔交易中的更新将等待(无限期或直到配置的超时为止)。第一笔交易提交后,第二笔交易中的更新将以此错误结束(如果第一个交易已退回,则第二笔交易将继续)。
如果这是最近开始发生的,您需要确定发生了什么变化。还有另一个工具还开始写入数据库,用户数量增加了吗,您是否升级了某些内容(例如Firebird或Firebird ado.net提供商版本等),您是否进行了更改,导致长期运行的交易执行更新?您的应用程序代码将需要更改以自动重试此错误。另外,请确保您的交易不太“太长”时间(交易的时间越长,发生这些类型的错误的机会就越多)。此外,您可以尝试将事务行为从FbTransactionBehavior.RecVersion
还请参见
http://www.firebirdfaq.org/faq151/,firebird中的transactions:酸,隔离水平,僵局,并解决更新冲突冲突和
transaction语句。
trone a
commit;
如果是通过isql.exe进行的。