在Delphi DBX firebird中自定义事务级别

问题描述 投票:13回答:1

我正在寻找一种使用火鸟驱动程序在Delphi的DBX中指定自定义事务级别的方法。我使用的是Delphi XE。

在TSQLConnection组件的参数编辑器中,我可以设置各种TransIsolation值,我使用的默认值是 ReadCommited. 该财产 WaitOnLocks 设置为 True.我希望这使用以下火鸟事务配置,但我不确定。

READ WRITE + WAIT + SNAPSHOT (见 http:/www.firebirdsql.orgrefdocslangrefupd20-set-trans.html)

我想使用 LOCK TIMEOUT [seconds] 而不是 WAIT. 但我找不到如何或在哪里指定这个。我在DBX源文件中找过,有一些自定义事务级别的代码(搜索 xilCUSTOM)但它似乎未被使用。

原因是我们在多用户的datasnap应用程序中有时会遇到死锁,我认为这是因为一个事务在等待另一个(可能是死的)事务。我们宁愿让事务在几秒钟后中断,也不愿让整个客户端无限期地挂起。

delphi transactions firebird delphi-xe
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.