空闲数据库连接丢失

空闲数据库连接丢失

我可以连接到数据库服务器(Firebird),运行查询,所有这些有趣的事情,但是在一段不确定的不活动时间之后,下一次查询尝试会产生以下错误

Unable to complete network request to host "XX.XX.XX.XX".
Error writing data to the connection.
An existing connection was forcibly closed by the remote host. .

SQL Error (code = -902):
Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.

当使用 Firebird Maestro(相关性未知)进行交互操作时,出现此错误后,我告诉 Maestro 断开连接。然后我就可以运行查询了。

我不知道超时是来自 Firebird 还是 Linux 服务器或我们网络上的其他地方,并且我对 Linux 或 AWS 或我们的网络了解不够,不知道在哪里寻找可能性。(在一家非常小的公司担任程序员的乐趣)

答案1

无论超时原因是什么,您都应该做好准备。甚至可能会出现多次超时,并且一段时间不活动后您的连接仍会被丢弃。

最好使用连接池库并指定比现在观察到的更短的超时时间(除非它低得令人无法接受)。

如果您详细描述您的部署,这可能会有所帮助,但我认为,最终,您需要修复客户端。

相关内容