我们有一个使用 BDE 连接到 Oracle DB 的应用程序。
我使用 TQuery 进行 SQL 查询,它连接到 TDatabase,我们不是专业程序员,我们不知道幕后发生了什么。
我们的网络不稳定,存在丢包问题。
当问题发生时,我们的应用程序会与数据库服务器断开连接,或者无法完成当前查询。
处理这个问题的最佳方法是什么?
我们的网络团队目前正在努力解决根本问题,并且我们已经更改了代码以在出现故障时重新连接到数据库。我们遇到了数据库服务器上打开 session 数量的问题。
有什么解决办法吗?
这对我们来说似乎是一个常见问题。
最佳答案
我对数据库组件提出以下建议。
- 连接每个 SQL 并在完成后关闭。
- 使用连接超时并在超时时重新启动查询
- 如果数据库断开连接,则将数据假脱机到客户端上的本地数据库,并在再次连接后重新启动到中央数据库的传输。这样您就不会丢失任何数据。
- 使用计时器检查中央数据库连接,以对未传输的数据进行假脱机操作。
这个问题在车间数据收集中很常见,上面的建议是我有效处理该问题的唯一方法。
关于oracle - 当网络不稳定时,如何防止数据库连接失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/885686/