Smemoratezze dal sottosuolo

Nella vita precedente questo è stato un blog cattivo

JDBC

without comments

Ovvero Java Database Connectivity. Se avete bisogno di connettervi ad un database con Java, molto probabilmente userete JDBC. Un modo per ottenere un oggetto di gestione della connessione è questo:

  /**
  * Apre una connessione con i parametri specificati.
  *
  * @param connstring Stringa di connessione
  * @param dbclass Classe del driver
  * @return Un oggetto java.sql.Connection
  */
 public static Connection getConnection(String connstring, String dbclass) {
 	try {
 		Class.forName(dbclass);
 		Connection con = DriverManager.getConnection(connstring);
 		return con;
 	} catch (ClassNotFoundException e) {
		// fai qualcosa, per esempio rilancia un'altra eccezione
 	} catch (SQLException sqle) {
 		// idem con patate
 	}
 }

Una volta ottenuto l’oggetto Connection, potrete usarlo per ottenere uno Statement (metodo createStatement()), per mezzo del quale potrete eseguire query, eventualmente ottenendo ResultSet. Badate che per ogni oggetto Statement potrete tenere aperto uno e uno solo oggetti ResultSet.

Di seguito le stringhe di connessione e i driver da utilizzare per le connessioni a vari tipi di database.

Oracle

(ojdbc14.jar)

Classi

oracle.jdbc.driver.OracleDriver (DEPRECATO?)
oracle.jdbc.OracleDriver

Stringhe

(tra parentesi quadre i campi opzionali/specificabili altrove):

jdbc:oracle:thin:[username/password]@//SERVERADDRESS[:1521]/SERVICENAME
jdbc:oracle:thin:[username/password]@SERVERADDRESS:1521:SID

SQL Server

(sqljdbc.jar)

Classi

com.microsoft.sqlserver.jdbc.SQLServerDriver

Stringhe

jdbc:sqlserver://INDIRIZZO_HOST[:1433];databaseName=database;
[instanceName=NOMEISTANZA;][user=username;password=password;]

Quando si specifica l’istanza pare sconsigliato specificare la porta.

Driver per SQL Server 2000

(msbase.jar, mssqlserver.jar, msutil.jar)

Classi

com.microsoft.jdbc.sqlserver.SQLServerDriver

Stringhe

jdbc:microsoft:sqlserver://INDIRIZZO_HOST[:1433];databaseName=database;
[instanceName=NOMEISTANZA;][user=username;password=password;][SelectMethod=cursor|direct;]

Microsoft Access

Classi

sun.jdbc.odbc.JdbcOdbcDriver

Stringhe

jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=FILENAME;DriverID=22;READONLY=false}

Written by StM

April 26th, 2007 at 12:19 pm

Posted in

Leave a Reply