2010-05-05 9 views
20

Sto cercando una semplice query DB2 che può essere utilizzata per verificare se una connessione al database nel pool è ancora valida. Deve essere una query generica che dovrebbe essere eseguita indipendentemente da quali database esistono.Semplice interrogazione DB2 per la convalida della connessione

Per altri server di database, ho usato qualcosa come "SELECT 1" o "SELECT version();"

Quale sarebbe un equivalente per DB2?

Grazie!

risposta

22

Prova values 1.

Inoltre, è possibile ottenere la data corrente come

VALUES current date 

o

SELECT current date FROM sysibm.sysdummy1 

È inoltre possibile ottenere the version info as follows

SELECT service_level, fixpack_num, bld_level 
FROM TABLE (sysproc.env_get_inst_info()) as A; 
+1

Grazie per la risposta. Selezionare 1 restituisce: ILLEGAL SYMBOL "". ALCUNI SIMBOLI CHE POTREBBERO ESSERE LEGALI SONO: Codice SQL: -104, SQL Stato: 42601 ma aggiungendo il (FROM sysibm.sysdummy1) funziona Grazie mille per il vostro aiuto! –

+1

@Eric - funziona "valori 1"? – DVK

+1

Prima lasciatemi dire che non ho molta familiarità con DB2, quindi potrei aver disossato la sintassi. Ho provato "valori 1", "valori SELECT 1" e "VALORI data corrente" che hanno restituito un errore. Entrambi "SELEZIONA la data corrente FROM sysibm.sysdummy1" e "SELECT 1 FROM sysibm.sysdummy1" hanno funzionato bene. Tutto questo attraverso JDBC utilizzando il driver JCC su un server basato su zOS. –

Problemi correlati