- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Delphi(2009 年,没关系)和 IBX,并且我正在尝试执行简单的代码:
TestSQL.ExecQuery;
在此代码之前,我已检查(也可以在调试器监视中看到)TestSQL.Transaction.InTransaction
为True
。尽管如此,还是引发了异常:
EIBInterBaseError with message 'invalid transaction handle (expecting explicit transaction start)'
因此,除了执行代码之外没有其他解决方案:
TestSQL.Transaction.StartTransaction;
TestSQL.ExecQuery;
现在引发了另一个异常:
EIBClientError with message 'Transaction is active'
彻底死路一条? Delphi有代码:
procedure TIBTransaction.CheckInTransaction;
begin
if FStreamedActive and (not InTransaction) then
Loaded;
if (FHandle = nil) then
IBError(ibxeNotInTransaction, [nil]);
end;
这意味着事务要求不仅由 InTransaction
决定,还由私有(private)变量 FStreamedActive
决定。那么——事务控制要复杂得多吗?我如何影响 FStreamedActive
?解决办法是什么?我的测试代码是较长代码的一部分,但我想知道如何分解事务状态的内部状态?
最佳答案
我找到了解决方案 - TestSQL.Database
无意中与 TestSQL.Transaction.DefaultDatabase
不同。这体现在这样一个奇怪的错误消息中。很奇怪的是,IBX 允许所有这些数据库不同。
关于delphi - Delphi IBX TIBSQL.ExecQuery 是否有奇怪的事务要求(FStreamedActive 因素)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52114373/
我的问题很简单,避免与使用许多组件 TIBDataSet 的应用程序进行太长的事件事务的最佳实践是什么?我会避免使用非常旧的 OAT,而不是性能非常差 我的应用程序有更多必须始终打开的数据集(直到应用
如果我在 Firebird 数据库中创建一个新表,然后调用: TIBDatabase.GetTableNames,新创建的表没有被枚举:我首先要发出: IBDatabase1.Connected :=
我正在将一个应用程序从 Delphi 6 - IBX - Firebird 1.5 迁移到 Delphi 2010 - Firebird 2.1 - UTF8 数据库。 问题是,如果我使用 TDBMe
我正在通过 Delphi 10.2 Tokyo 中的 IBX 组件连接到 Firebird。 我正在尝试通过以下代码连接到数据库: IBDatabase.Connected := False; IBD
我正在使用 Delphi(2009 年,没关系)和 IBX,并且我正在尝试执行简单的代码: TestSQL.ExecQuery; 在此代码之前,我已检查(也可以在调试器监视中看到)TestSQL.Tr
我需要将 IBX (Interbase/Firebird) 连接迁移到 Firedac但是我怎样才能获得特定的供应商信息,就像我们通过 Firedac 的 TIBDatabaseInfo 组件获得的那
我是一名优秀的程序员,十分优秀!