我怎样才能安全地中止/取消当前正在运行的查询/事务。使用 gfix -shut 可能会损坏数据库。我正在使用 delphi 和 firebird 2.5
提前感谢雷纳尔迪
Gfix 不能损坏数据库。它使用运行查询的安全终止并回滚所有活动事务。
您可以通过执行 DELETE FROM MON$STATEMENTS WHERE MON$STATEMENT_ID = ... 来取消给定的查询
您可以通过执行 DELETE FROM MON$CONNECTIONS WHERE CONNECTION_ID = ... 来关闭整个附件
所有查询都应从并行附件运行。
在 Andrej 提供的答案旁边,Firebird 2.5 API 还包括fb_cancel_operation
取消数据库句柄上所有正在运行的操作的命令。您需要检查您的 Delphi 组件是否支持此功能。