当网络不稳定时,如何防止数据库连接失败?

lin*_*ida 5 delphi oracle networking bde

我们有一个使用 BDE 连接到 Oracle DB 的应用程序。
我使用 TQuery 进行 SQL 查询,它连接到 TDatabase,我们不是专业程序员,我们不知道幕后发生了什么。

我们的网络不稳定,存在丢包问题。

当问题发生时,我们的应用程序会与数据库服务器断开连接,或者无法完成当前查询。
处理这个问题的最佳方法是什么?

我们的网络团队目前正在努力解决根本问题,并且我们已经更改了代码以在出现故障时重新连接到数据库。我们遇到了数据库服务器上打开会话数量的问题。

有什么解决办法吗?
这对我们来说似乎是一个常见问题。

Joh*_*ler 5

我对数据库组件提出以下建议。

  1. 连接每个 sql 并在完成后关闭。
  2. 使用连接超时并在超时时重新启动查询
  3. 如果数据库断开连接,则将数据假脱机到客户端上的本地数据库,并在再次连接后重新启动到中央数据库的传输。这样您就不会丢失任何数据。
  4. 使用计时器检查中央数据库连接以对未传输的数据进行假脱机操作。

这个问题在车间数据收集中很常见,上面的建议是我可以有效处理该问题的唯一方法。