Advantage TAdsConnection オブジェクトのプールを保持し、要求に応じて配布します。ときどき、6610 エラーになるエラーが発生することがあります。これは、アイドル状態で接続がリセットされたためだと思います。古いクエリを実行して 6610 をキャッチすることもできますが、その特定のエラーが発生するまで長い間待ちます。
アドバンテージ接続を渡す前に、その状態をチェックする良い方法はありますか?
Advantage TAdsConnection オブジェクトのプールを保持し、要求に応じて配布します。ときどき、6610 エラーになるエラーが発生することがあります。これは、アイドル状態で接続がリセットされたためだと思います。古いクエリを実行して 6610 をキャッチすることもできますが、その特定のエラーが発生するまで長い間待ちます。
アドバンテージ接続を渡す前に、その状態をチェックする良い方法はありますか?
AdsIsConnectionAlive ACE APIを使用して、接続をテストできます。このAPIは、接続が正常に機能しているかどうかをテストするために、小さな「エコー」パケットをサーバーに送信します。
ITは、これに関してはほとんどあなたの友達です。妥当なタイムアウトを設定し、カスタム プーリングを削除します (最適化のために絶対にプールする必要がある場合を除きます)。考えられる問題として、これを「タイムアウト」の下にファイルします。コード (これは関数呼び出しであると想定しています) を接続の新しいインスタンスを返すコードに置き換えて、それを複製できるかどうかを確認してください。
また、使用しているデータベースのバージョンも指定していません。そのDBを扱っていたとき、アドバンテージ6/7/8は9/10よりも多くの問題を抱えていました.
コードに問題がないと仮定して (真剣に、カスタム プーリングを無効にします)、ネットワーク インフラストラクチャを確認し、サポートに連絡してください。それ以外の場合は、TAdsConnection クラスのドキュメントを参照してください。おそらく、サーバー側とクライアント側の両方でタイムアウトを増やすことができます。
簡単な答え:手動でプールするつもりはありません。データベースにはその本質が組み込まれているので、それを使用してください。