【问题标题】:Check health of an Advantage Database connection检查 Advantage 数据库连接的运行状况
【发布时间】:2012-10-16 02:08:24
【问题描述】:

我保留了一个 Advantage TAdsConnection 对象池,并按要求分发它们。有时我会遇到一个导致 6610 错误的错误,我假设是因为它处于空闲状态并且连接被重置。我可以运行任何旧查询并捕获 6610,但要等待很长时间才能看到特定错误。

在我传回优势连接之前,有没有一种好方法可以检查它的运行状况?

【问题讨论】:

    标签: delphi advantage-database-server


    【解决方案1】:

    您可以使用AdsIsConnectionAlive ACE API 来测试连接。此 API 将向服务器发送一个小的“回声”数据包,以测试连接是否正常。

    【讨论】:

      【解决方案2】:

      IT 几乎是您在这方面的朋友。我会设置一个合理的超时并删除您的自定义池(除非您因为优化而绝对需要池)。我将在“超时”下将其归档为可能的问题。用返回一个新的连接实例替换你的代码(我假设它是一个函数调用),看看你是否可以复制它。

      您还没有指定您正在使用的数据库版本。当我处理那个数据库时,Advantage 6/7/8 的问题比 9/10 多得多。

      假设您的代码不是问题(说真的,请禁用您的自定义池),请检查您的网络基础设施并致电支持。否则请阅读您的 TAdsConnection 类的文档:您可能会增加服务器端和客户端的超时时间。

      简短回答:我不会手动池化,数据库具有内置的精髓,使用它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-17
        相关资源
        最近更新 更多