当 PostgreSQL 停止时 TFDConnection.Connected 保持 True

2023-12-19

我正在使用 Delphi 10 和 FireDAC 连接到 PostgreSQL 9.5 x64。

我的软件中有一个重新连接功能,它依赖于TFDConnection.Connected flag:

if not _conn.Connected then
  if _autoConnect then
    _conn.Connected := True
  else
    raise Exception.Create('Not connected to database');

将软件连接到 PostgreSQL 并开始执行查询后,我进入 Windows 服务控制面板并停止启动 PostgreSQL 服务器以测试重新连接功能。 启动 PostgreSQL 服务器后,我继续收到以下错误:

[FireDAC][Phys][PG][libpq] 没有连接到服务器

and TFDConnection.Connected遗迹True无论 PostgreSQL 是启动还是停止。

OnLost, OnRecover and OnRestored当 PostgreSQL 停止时永远不会被触发。

有了MS SQL Server 2012,无论本地还是远程,一切都OK。

如何确定 PostgreSQL 是否断开?

我的 DLL 的版本是:

libpq.dll      9.5.2.1688
LIBEAY32.dll   1.0.2.7
SSLEAY32.dll   1.0.2.7
libiconv-2.dll 1.14.0.0
libintl-8.dll  0.9.14.0

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 PostgreSQL 停止时 TFDConnection.Connected 保持 True 的相关文章

随机推荐