2

我怎样才能安全地中止/取消当前正在运行的查询/事务。使用 gfix -shut 可能会损坏数据库。我正在使用 delphi 和 firebird 2.5

提前感谢雷纳尔迪

4

2 回答 2

4

Gfix 不能损坏数据库。它使用运行查询的安全终止并回滚所有活动事务。

您可以通过执行 DELETE FROM MON$STATEMENTS WHERE MON$STATEMENT_ID = ... 来取消给定的查询

您可以通过执行 DELETE FROM MON$CONNECTIONS WHERE CONNECTION_ID = ... 来关闭整个附件

所有查询都应从并行附件运行。

于 2012-11-20T14:20:18.680 回答
3

在 Andrej 提供的答案旁边,Firebird 2.5 API 还包括fb_cancel_operation取消数据库句柄上所有正在运行的操作的命令。您需要检查您的 Delphi 组件是否支持此功能。

于 2012-11-20T14:41:18.807 回答