目前我们正在将Delphi7应用程序的数据库组件从BDE组件迁移到AnyDAC (FireDAC) 版本 8.0.5组件。
给出了以下先决条件:
- 在我们的表单上,我们有一个 TADConnection、一个 TADQuery 和一个 TADTable。TADQuery 是 TADTable 的 MasterSource。没有对 AnyDAC 组件的设置进行特殊更改,因此AutoCommit模式处于活动状态。
- 此外,我们的表单上有一个 TDBMemo,它链接到 TADTable 的 ftMemo 字段(Firebird FieldType = Blob / Size = 240 / Subtype = Text)
在加载 blob 文本字段内容 (TBlobField.GetAsString) 期间,TADTable 会自动启动一个不会提交的事务。
这种行为正常吗?我们是否有可能避免这种公开交易?请注意,目前无法停用 AutoCommit。
任何帮助表示赞赏。