Molte librerie di pool di connessioni al database offrono la possibilità di testare le proprie connessioni SQL per la pigrizia. Ad esempio, la libreria di pooling JDBC c3p0 ha una proprietà chiamata preferredTestQuery
, che viene eseguita sulla connessione a intervalli configurati. Allo stesso modo, Apache Commons DBCP ha validationQuery
.
Molte query di esempio che ho visto sono per MySQL e raccomandano di usare come valore per la query di prova. Tuttavia, questa query non funziona su alcuni database (ad esempio HSQLDB, per i quali si aspetta una clausola).SELECT 1;
SELECT 1
FROM
Esiste una query indipendente dal database che è altrettanto efficiente ma funzionerà per tutti i database SQL?
Modificare:
Se non c'è (che sembra essere il caso), qualcuno può suggerire una serie di query SQL che funzioneranno per vari provider di database? La mia intenzione sarebbe quella di determinare a livello di codice un'istruzione che posso usare in base alla configurazione del mio provider di database.