ホームページ > データベース > mysql チュートリアル > 本当にデータベースに依存しない SQL 接続テスト クエリはありますか?

本当にデータベースに依存しない SQL 接続テスト クエリはありますか?

Patricia Arquette
リリース: 2024-12-30 17:13:08
オリジナル
952 人が閲覧しました

Is There a Truly Database-Agnostic SQL Connection Test Query?

SQL 接続のデータベースに依存しないテスト クエリ

データベース接続プーリング ライブラリには、多くの場合、SQL 接続のアイドル状態をテストする機能が含まれています。ただし、「SELECT 1;」などの推奨されるテスト クエリの多くは特定のデータベースに固有であり、他のデータベースでは失敗する可能性があります。

真にデータベースに依存しないテスト クエリはありますか?

残念ながら、すべての SQL で機能する単一のクエリはありません。

データベース固有のクエリ

包括的なアプローチが必要な場合は、異なるデータベース プロバイダーに合わせた複数のクエリの使用を検討してください:

  • MySQL、H2、PostgreSQL、SQLite、Hive: SELECT 1
  • Oracle: SELECT 1 FROM DUAL
  • HSQLDB: SELECT 1 FROM any_existing_table WHERE 1=0
    SELECT 1 FROM INFORMATION_SCHEMA.SYSTEM_USERS
    電話するNOW()
  • Apache Derby: VALUES 1 または SELECT 1 FROM SYSIBM.SYSDUMMY1
  • DB2: SELECT 1 FROM SYSIBM.SYSDUMMY1
  • Informix: systables から count(*) を選択

注:

  • HSQLDB で WHERE 1=0 を使用する場合は、必ず行を返すようにしてください。 Apache Commons DBCP の validationQuery の場合。
  • データベース プロバイダーの構成に基づいて適切なクエリを決定して実行するには、プログラミング手法の使用を検討してください。

以上が本当にデータベースに依存しない SQL 接続テスト クエリはありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート