La grande maggioranza delle applicazioni web ha la necessità di garantire la persistenza dei dati, memorizzando le informazioni in qualche database. Tra le soluzioni più popolari abbiamo Oracle (soprattutto a livello enterprise), PostegreSQL (per la media impresa) e MySQL (per le normali applicazioni web).

In realtà la differenza tra i database si è sempre più ridotta, ad oggi possiamo usare qualsiasi soluzione anche a livello enterprise, scalando se necessario l'architettura. Anche dal punto di vista della sintassi e funzionalità i diversi database sono molto simili, a parte il supporto PL/SQL, che ovviamente è molto più robusto e performante su Oracle.

La differenza pratica, quando lavoriamo con un database, è spesso il client SQL che utilizziamo per connetterci alla base dati. E' qui che passiamo la maggior parte del tempo, ed è questo lo strumento che dobbiamo conoscere bene. Lavorando con database diversi potrebbe capitare di dover usare ogni volta un'interfaccia diversa: SQLDeveloper per Oracle, pgAdmin per PostgreSQL o phpMyAdmin per MySQL. Lo svantaggio, in tal caso, è di dover continuamente passare da un'interfaccia all'altra, rischiando di fare confusione o non ricordare mai dov'è la funzione che ci serve. Anche se questo non è il nostro scenario oggi, potrebbe diventarlo prossimamente: è saggio essere lungimiranti e scegliere subito un client SQL versatile, in modo da poter usare sempre la stessa interfaccia, qualsiasi sia il database su cui stiamo lavorando.

Una soluzione di questo tipo è Squirrel, un client SQL realizzato in Java che permette di collegarsi quasi ad ogni database esistente, o almeno a tutti quelli che supportano un driver JDBC (e sono parecchie decine).

Installazione

Dopo aver scaricato Squirrel, dovremmo trovarci un file con estensione JAR, che va installato eseguendo un comando come

java -jar squirrel-sql-<version>-install.jar

ad esempio

 java -jar squirrel-sql-3.3.0-install.jar

Su Windows dobbiamo aprire il prompt dei comandi (Startcmd), spostarci nella directory dove si trova il JAR ed eseguire il comando scritto qui sopra. Il risultato dovrebbe essere l'esecuzione del wizard di installazione

Installazione di Squirrel

Installazione di Squirrel

Ad un certo punto ci verrà chiesto quali plugin vogliamo installare: spuntiamo tranquillamente tutti i plugin opzionali (Optional plugin), mentre nell'elenco Optional Translation spuntiamo solo la voce che ci interessa (probabilmente Optional Translation – Italian). Anche così il programma dovrebbe occupare meno di 50 MB (una vera inezia).

Configurazione

Come prima cosa notifichiamo a Squirrel dove si trovano i drivers JDBC per i database che vogliamo utilizzare. Per farlo clicchiamo su Drivers (pulsante verticale a sinistra): si aprirà l'elenco dei database potenzialmente supportati. Selezioniamo il database che ci interessa, ad esempio MySQL, cliccando due volte sull'etichetta MySQL Driver

Drivers JDBC

Drivers JDBC

clicchiamo sulla tab Extra Class Path e poi su Add (aggiungi) per selezionare il driver, che deve ovviamente già trovarsi sulla macchina locale. Dopo averlo segnalato a Squirrel clicchiamo su OK per salvare.

Connessione

Siamo finalmente pronti ad aprire la prima connessione al database. Clicchiamo su Aliases ( pulsante verticale a sinistra) e poi sull'icona col “segno più” (Crea un nuovo alias). Come prima cosa selezionano il driver che ci interessa, in questo caso MySQL Driver (quello dello step precedente).

Connessione a MySQL

Connessione a MySQL

Qui inseriamo la stringa di connessione, ad esempio

jdbc:mysql://localhost:3306/<nome database>

che ovviamente dipenderà dalla configurazione del nostro database. Inseriamo le credenziali di accesso e testiamo la connessione cliccando su Test. Se qualcosa va storto, abbiamo inserito i dati sbagliati: controlliamo attentamente l'indirizzo del database, verifichiamo il numero di porta e soprattutto controlliamo di usare utente e password corretti.

Con questo è tutto. I vantaggi di Squirrel li abbiamo già evidenziati, come ultimo aiuto per chi si approccia la prima volta ad un client di questo tipo riportiamo alcuni esempi di connessione per Oracle e PostgreSQL. Potrebbero tornare utile in caso di dubbio, per controllare che il pattern inserito sia corretto.

Oracle (esempio): jdbc:oracle:thin:@127.0.0.1:1521:<nome database>

PostgreSQL (esempio): jdbc:postgresql://localhost:5432/<nome database>

Nel caso di Oracle, possiamo scegliere tra il driver OCI oppure il Thin driver. In quest'ultimo caso, ricordiamoci che i driver JDBC da notificare a Squirrel sono due: orai<versione>.jar e ojdbc<versione>.jar.