QSqlDatabase * QSqlQuery:他们不管理IP更改

时间:2018-09-20 10:34:09

标签: postgresql qt ip qt5 qsqlquery

问题很简单,但是没有一个明显的解决方案:当我的路由器更改ip而不引起网络中断时,QSqlDatabase不会检测到与远程数据库的连接丢失。在意识到确实丢失连接之前,QSqlQuery上的下一个exec()将阻塞线程数十分钟。由于即使在Postgresql上实现了statement_timeout,客户端也永远不会收到信号(由于IP地址的更改,我猜想),因此在服务器端无需执行任何操作。不幸的是,QSqlQuery被阻止并且没有超时。

为每个事务打开和关闭数据库的解决方案非常麻烦(应用程序通过有限的Internet连接每秒管理多个事务)。 我宁愿不必杀死线程。

如果您看到此痛苦问题的解决方案。预先谢谢你。

(我使用Qt5.9和Ubuntu 18.04)

0 个答案:

没有答案