Ci sono diversi database che funzionano su Linux che supportano anche un'interfaccia JDBC. Tra questi sono inclusi:
Se si volesse provare solo un DBMS, suggerirei inizialmente di provare PostgreSQL, principalmente perché è presente nella maggior parte delle maggiori distribuzioni Linux ed è probabile che sia già installato, e forse funzionante, nel sistema in uso.
Da scrivere.
Vedere http://www-4.ibm.com/software/data/db2/linux/ per maggiori informazioni.
Da scrivere.
Vedere http://www.hughes.com.au/ per maggiori informazioni.
Da scrivere.
See http://www.mysql.org/ per maggiori informazioni.
Da scrivere.
Vedere http://platforms.oracle.com/linux/
PostgreSQL è un sofisticato DBMS relazionale ad oggetti, ammette quasi tutti i costrutti SQL, inclusi subselect, transazioni, tipi e funzioni definite dall'utente. È il più avanzato database open-source disponibile. È anche disponibile il supporto commerciale di PostgreSQL, Inc. La versione attuale è la 6.5.3 ed è disponibile da uno qualsiasi dei tanti siti mirror o su CD (dal sito web di PostgreSQL).
PostgreSQL potrebbe essere già contenuto nella distribuzione Linux in uso per via della sua licenza open source.
Piuttosto che scaricare da PostgreSQL, suggerirei inizialmente di provare il PostgreSQL che molto probabilmente è fornito con la distribuzione Linux in uso.
In alternativa, PostgreSQL può essere ottenuto da http://www.postgresql.org.
Per verificare che PostgreSQL sia installato sul computer in uso digitare:
rpm -qa | grep postgresql
o
which postmaster which psql
Per usare Java con PostgreSQL \ necessario che i pacchetti postgresql, postgresql-server e postgresql-java siano installati.
Accertarsi che PostgreSQL sia in esecuzione. Digitare:
ps -f -u postgres
Si dovrebbe vedere postmaster, il demone di PostgreSQL, attivo.
Se postmaster non fosse attivo, ci sarà probabilmente uno script Sys V Init che può essere usato per avviarlo. In molte distribuzioni è localizzato in /etc/rc.d/init.d. Per lanciare PostgreSQL, digitare:
cd /etc/rc.d/init.d ./postgresql start
Si può usare il comando "ps" di cui sopra per avere una conferma che PostgreSQL è in esecuzione.
Nota: per usare il JDBC, PostgreSQL necessita di essere lanciato con il parametro '-i' che indica l'uso di connessioni TCP/IP piuttosto che solamente socket di dominio UNIX. Verificare che postmaster sia stato lanciato con il parametro '-i'.
Creare un database di test digitando:
su - postgres createdb javatest
Non si dovrebbe vedere alcun messaggio di errore.
Creare una tabella di test con una riga di test. Prima, accedere allo strumento interattivo PostgreSQL e collegarsi al database javatest appena creato digitando (come utente postgres):
psql javatest
Si dovrebbe vedere confermato il fatto di essere connessi al database: javatest.
Poi, creare la tabella di test digitando (all'interno di psql):
create table test (col1 varchar(255));
Si dovrebbe vedere il messaggio di conferma del comando "CREATE".
Quindi, inserire una riga digitando (all'interno di psql):
insert into test (col1) values ('Hello, from PostgreSQL!');
Si dovrebbe vedere il messaggio di conferma del comando "INSERT".
Finalmente, verificare che la riga sia presente digitando (all'interno di psql):
select col1 from test;
Si dovrebbe vedere la riga appena creata.
Si può uscire da psql digitando "\q".
Per maggiore assistenza nel lavoro con PostgreSQL, suggerirei di leggere a fondo il documento Database-SQL-RDBMS HOW-TO per Linux (PostgreSQL Object Relational Database System) all'indirizzo: http://metalab.unc.edu/mdw/HOWTO/PostgreSQL-HOWTO.html.
È necessario aggiungere il JAR appropriato nel CLASSPATH. I JAR di PostgreSQL vengono forniti con il pacchetto postgresql-jdbc.
export CLASSPATH=$CLASSPATH:/usr/lib/pgsql/jdbc6.5-1.2.jar
Si potrebbe aver bisogno di sostituire il percorso a seconda di dove è stato installato PostgreSQL sul sistema in uso.
Si è ora in grado di compilare ed eseguire una semplice applicazione JDBC che usi PostgreSQL. Creare il seguente programma.
import java.sql.*; class PostgreSQLTest { public static void main (String[] args) { try { Driver driver = (Driver) Class.forName("postgresql.Driver").newInstance(); DriverManager.registerDriver(driver); String url = "jdbc:postgresql:javatest"; Connection con = DriverManager.getConnection(url, "postgres", ""); Statement stm = con.createStatement(); stm.setQueryTimeout(10); ResultSet rs = stm.executeQuery("select col1 from test"); rs.next(); System.out.println(rs.getString(1)); } catch (SQLException e) { System.out.println("Exception!"); System.out.println(e.toString()); } }
Compilare il programma con il compilatore Java.
javac PostgreSQLTest.java
Se il compilatore dovesse produrre errori, controllare la sintassi e verificare il PATH e la CLASSPATH.
Eseguire il programma con la JVM.
java PostgreSQLTest
Se la JVM dovesse produrre errori, verificare il PATH e la CLASSPATH.
Si dovrebbe vedere l'output:
Hello, from PostgreSQL!
Congratulazioni, si è installato, configurato e provato un ambiente per l'interfaccia JDBC verso PostgreSQL.
Per maggiori informazioni, suggerirei di esaminare a fondo il sito web di PostgreSQL all'indirizzo
Sybase Adaptive Server Enterprise è un RDBMS commerciale che è disponibile per il sistema operativo Linux. Per quanto Sybase abbia recentemente rilasciato la versione 12.0, la versione disponibile per Linux è la 11.9.2.
Secondo il sito web di Sybase, "Con il port di ASE su Linux, Sybase ha dato alla comunità di sviluppo di Linux il primo motore di database ad alta scalabilità ad alte prestazioni per la piattaforma. Il pacchetto include le caratteristiche standard dell'Adaptive Server Enterprise e di tutti i componenti di connettività relativi. La versione 11.9.2 è offerta per sviluppo LIBERO".
Sybase ASE può essere ottenuto da http://www.sybase.com/products/databaseservers/linux/linux1192_reg.html.
Per poter effettuare il download è necessario registrarsi presso il sito web di Sybase ed accettare i termini della licenza online.
Il driver JDBC di Sybase JDBC può essere ottenuto da http://www.sybase.com/products/internet/jconnect/.
Selezionare download jConnect 4.2/5.2.
Se si ha accesso ad un server Sybase in rete, è sufficiente scaricare ed installare il solo driver JDBC.
L'installazione di Sybase va oltre lo scopo di questo HOWTO. Questo HOWTO assume che Sybase sia stato installato e configurato correttamente e che si acceda a Sybase utilizzando isql.
Accedere ad isql come sa e creare un utente di test ed un database di test digitando:
create database javatest go sp_addlogin javatest, javatest, javatest go use javatest go sp_dbowner javatest go
Non si dovrebbero vedere errori.
Creare una tabella di test con una riga di test. Prima, accedere ad isql con l'utente di test javatest e digitare:
create table test (col1 varchar(255)) go
Non si dovrebbe vedere alcun messaggio di errore.
Poi, inserire una riga digitando:
insert into test (col1) values ('Hello, from Sybase!') go
Non si dovrebbe vedere alcun messaggio di errore.
Alla fine, verificare che la riga sia presente digitando:
select col1 from test go
Si dovrebbe vedere la riga appena creata.
Si può uscire da isql digitando "exit".
Per maggiori informazioni su come lavorare con Sybase, esaminare la documentazione che può essere scaricata con Sybase.
Potrebbe essere necessario aggiungere gli appropriati JAR al CLASSPATH.
export CLASSPATH=$CLASSPATH:/usr/local/sybase/jConnect-5_2/classes/jconn2.jar
Potrebbe essere necessario sostituire il percorso in base a dove si è installato jConnect.
Si è ora in grado di compilare ed eseguire una semplice applicazione JDBC che usi PostgreSQL. Creare il seguente programma.
import java.sql.*; class SybaseTest { public static void main (String[] args) { try { Driver driver = (Driver) Class.forName("com.sybase.jdbc2.jdbc.SybDriver").newInstance(); DriverManager.registerDriver(driver); String host = "127.0.0.1"; String port = "4100"; String url = "jdbc:sybase:Tds:" + host + ":" + port; Connection con = DriverManager.getConnection(url, "javatest", "javatest"); Statement stm = con.createStatement(); stm.setQueryTimeout(10); ResultSet rs = stm.executeQuery("select col1 from test"); rs.next(); System.out.println(rs.getString(1)); } catch (SQLException e) { System.out.println("Exception!"); System.out.println(e.toString()); } }
Sarà necessario sostituire l'host e il numero della porta del server Sybase in modo appropriato. Vedere il contenuto di $SYBASE/interfaces e $DSQUERY per quali valori usare per l'host ed il numero di porta.
Compilare il programma con il compilatore Java.
javac SybaseTest.java
Se il compilatore dovesse produrre errori, controllare la sintassi e verificare il PATH e la CLASSPATH.
Eseguire il programma con la JVM.
java SybaseTest
Se la JVM dovesse produrre errori, verificare il PATH e la CLASSPATH.
Si dovrebbe vedere il seguente output:
Hello, from Sybase!
Congratulazione, si è installato, configurato e provato un ambiente per l'interfaccia JDBC verso Sybase.
Per maggiori informazioni, suggerirei di guardare a fondo il sito web dedicato a jConnect di Sybase all'indirizzo http://www.sybase.com/products/internet/jconnect/.