Effiziente SQL-Testabfrage oder -validierungsabfrage, die in allen (oder den meisten) Datenbanken funktioniert

Viele Datenbank-connection-pooling-Bibliotheken bieten die Möglichkeit, testen Sie Ihre SQL-verbindungen für Müßiggang. Zum Beispiel, die JDBC-pooling-Bibliothek c3p0 hat eine Eigenschaft namens preferredTestQuery, die ausgeführt wird auf die Verbindung konfigurierten Intervallen. Ähnlich, Apache Commons DBCP hat validationQuery.

Viele Beispiel Abfragen ich gesehen habe, sind für MySQL und empfehlen die Verwendung SELECT 1; als Wert für den test Abfrage. Aber diese Abfrage funktioniert nicht auf einige Datenbanken (z.B. HSQLDB, für die SELECT 1 erwartet eine FROM - Klausel).

Ist es eine Datenbank-unabhängige Abfrage, ist gleichbedeutend mit effizienter, aber für alle SQL-Datenbanken?

Edit:

Wenn es nicht (was der Fall zu sein scheint), kann jemand empfehlen, einen Satz von SQL-Abfragen, die die Arbeit für verschiedene Datenbank-Anbieter? Meine Absicht wäre, programmgesteuert bestimmen, eine Aussage, die ich verwenden können, basierend auf meinen Datenbank-provider-Konfiguration.

Kommentar zu dem Problem
Hinweis: die Konfiguration einer test-Abfrage wird nicht mehr benötigt, siehe meine Antwort unten Kommentarautor: Tim Büthe

InformationsquelleAutor der Frage Rob Hruska | 2010-09-08

Schreibe einen Kommentar