Birçok veritabanı bağlantı havuzu kitaplığı, SQL bağlantılarını boşta kalma açısından test etme yeteneği sağlar. Örneğin, JDBC havuzlama kitaplığı c3p0 , preferredTestQuery
bağlantıda yapılandırılmış aralıklarla çalıştırılan adında bir özelliğe sahiptir . Benzer şekilde, Apache Commons DBCP'de validationQuery
.
Gördüğüm birçok örnek sorgu MySQL SELECT 1;
içindir ve test sorgusu için değer olarak kullanılmasını önerir . Ancak, bu sorgu bazı veritabanlarında çalışmaz (örn. HSQLDB, kendisi için SELECT 1
bir FROM
cümle beklemektedir ).
Eşit derecede verimli olan ancak tüm SQL veritabanları için çalışacak bir veritabanından bağımsız sorgu var mı?
Düzenle:
Eğer yoksa (öyle görünüyor ki), birileri çeşitli veritabanı sağlayıcıları için çalışacak bir dizi SQL sorgusu önerebilir mi? Niyetim, veritabanı sağlayıcısı yapılandırmamı temel alarak kullanabileceğim bir ifadeyi programlı olarak belirlemek olacaktır.