加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 10:09:34 所属栏目:大数据 来源:网络整理
导读:我正在寻找一种在Delphi的DBX中使用firebird驱动程序指定自定义事务级别的方法.我使用的是Delphi XE. 在TSQLConnection组件的参数编辑器中,我可以设置各种TransIsolation值,我使用默认的ReadCommited.属性WaitOnLocks被设置为True. 我期望这将使用以下firebi
我正在寻找一种在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就是这样.希望你得到排序!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读