Il n'existe pas une seule validationQuery pour toutes les bases de données. Pour chaque base de données, vous devez utiliser une validationQuery différente.
Après quelques heures de recherche sur Internet et de tests, j'ai rassemblé ce tableau :
Validation de la base de donnéesNotes de requête
-
hsqldb -
select 1 from INFORMATION_SCHEMA.SYSTEM_USERS
-
Oracle -
select 1 from dual
-
DB2 -
select 1 from sysibm.sysdummy1
-
mysql -
select 1
-
microsoft SQL Server -
select 1
(testé sur SQL-Server 9.0, 10.5 [2008])
-
postgresql -
select 1
-
ingres -
select 1
-
derby -
values 1
-
H2 -
select 1
-
Oiseau de feu -
select 1 from rdb$database
-
MariaDb -
select 1
-
Informix -
select 1 from systables
-
Ruche -
select 1
-
Impala -
select 1
J'en ai parlé sur mon blog - requête de validation pour diverses bases de données .
En avance il y a un exemple de classe, qui retourne validationQuery selon le pilote JDBC.
Ou quelqu'un a-t-il une meilleure solution ?
0 votes
L'utilisation de validationQuery ne dégrade-t-elle pas les performances ? Cette requête est exécutée pour chaque connexion de l'application, n'est-ce pas ?