tsql – Delphi DBX firebird中的自定义事务级别

前端之家收集整理的这篇文章主要介绍了tsql – Delphi DBX firebird中的自定义事务级别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一种在Delphi的DBX中使用firebird驱动程序指定自定义事务级别的方法.我使用的是Delphi XE.

在TsqlConnection组件的参数编辑器中,我可以设置各种TransIsolation值,我使用默认的ReadCommited.属性WaitOnLocks被设置为True.
我期望这将使用以下firebird事务配置,但我不知道:

读写等待SNAPSHOT(见http://www.firebirdsql.org/refdocs/langrefupd20-set-trans.html)

我想使用LOCK TIMEOUT [秒]而不是WAIT.但是我找不到如何或在哪里指定这个.我查看了DBX源文件,并且有一些自定义事务级别的代码(搜索xilCUSTOM),但似乎未完成/未使用.

这样做的原因是我们有时会在我们的多用户数据捕获应用程序中遇到死锁,我认为这是因为一个事务正在等待另一个(可能是死的)事务.比起整个客户端无限期挂起,我们宁愿在几秒钟之后将事务中断.

解决方法

只是我的几美分 – 根据我的经验,JustME提到的IBO对象是一个非常体面的图书馆.在另一点 – 我假设你试图找出导致你的僵局的场景?这是一个非常不可预测的情况吗?只是想知道如果您有其他情况WAIT实际上允许应用程序向前移动,如果您使用锁定超时,将会受到不利影响.回到我的第一个评论 – 用firebird通常最好使用一个专门的图书馆,imho就是这样.希望你得到排序!

猜你在找的Delphi相关文章