Багато бібліотек об’єднання підключень до баз даних надають можливість перевірити свої SQL-з'єднання на непрацюючість. Наприклад, бібліотека пулу JDBC c3p0 має властивість під назвою preferredTestQuery
, яка виконується під час з'єднання з налаштованими інтервалами. Аналогічно є і DBCP Apache Commons validationQuery
.
Я бачив багато прикладів запитів для MySQL і рекомендую використовувати SELECT 1;
як значення для тестового запиту. Однак цей запит не працює в деяких базах даних (наприклад, HSQLDB, для яких SELECT 1
очікує FROM
пункт).
Чи є аггностичний запит до бази даних, який настільки ж ефективний, але буде працювати для всіх баз даних SQL?
Редагувати:
Якщо цього немає (що, здається, так), може хтось запропонувати набір SQL запитів, які працюватимуть для різних постачальників баз даних? Моїм наміром було б програмне визначення твердження, яке я можу використовувати, на основі конфігурації мого постачальника баз даних.