![]() ![]() |
![]() |
![]() |
![]() ![]() | |||
![]() | |||
![]() BETA 2199.4 - Programmazione: Scriviamo un'applicazione client/server JDBC (seconda parte) - Indici | Guida | |||
![]()
|
Scriviamo un'applicazione client server JDBCSupporto database della nostra applicazioneSeconda Parte | Prima Parte
Stefano Carfagna Dobbiamo realizzare la prima parte del lato server, vale a dire la gestione dell'accesso ai dati contenuti nel database ODBC compatibile. Inizieremo con una breve descrizione di JDBC-ODBC per concludere con la realizzazione delle funzioni Java. A fine articolo ci sono i sorgenti completi. Per ogni ulteriore dettaglio su JDBC si fa presente che il sito della Sun è ricco di documentazione. JDBC-ODBCIl supporto database di Java è necessariamente indipendente da una specifica piattaforma. Ciò significa che Java mette a disposizione del programmatore una serie di interfaccie (classi con dichiarazioni di metodi, JDBC) per accedere alle chiamate standard di gestione database. Java offre la possibilità di richiamare procedure scritte in codice "nativo" creando corrispondeze tra metodi di una classe e funzioni esportate da DLL (Windows), o librerie in genere (altri sistemi). Il produttore di database che vuole permettere agli sviluppatori Java di utilizzare il proprio DBMS deve fornire le classi Java che "implementano" le interfacce standard per l'accesso ai database. Queste classi possono operare richiamando metodi nativi. ![]() Se si utilizza Windows è possibile accedere direttamente a tutti i database che supportano lo standard ODBC di Microsoft grazie alle classi scritte dalla Sun. Esse sfruttano l'interfaccia standard ODBC chiamando metodi nativi con essa compatibili. ![]() Naturalmente il prezzo da pagare in quest'ultima soluzine è una diminuzione di velocità. ODBC deve interfacciarsi a sua volta con in produttori di database. Il vantaggio è che ogni database compatibile con ODBC è direttamente utilizzabile in Java. MS ACCESS per WindowsIl database management system scelto per la nostra applicazione è Access di Microsoft. Esso deve essere installato sulla macchina dove girerà la parte SERVER. SApplet.MDB è il file che contiene la tabella Anagrafica per la gestione del nostro archivio (Il database).
SYSTEM DSN (Data Source Name)JDBC può interagire con ODBC per prendere le informazioni sulle fonti dati disponibili (System Data Source Name). Una fonte dati è quindi la mappatura di un database specifico (Access, Oracle, SyBase ...). Il nostro System Data Source Name è "DBSApplet". Occorre quindi configurare questo DSN in ODBC32. Seguono i passi necessari : Le funzioni per la lettura e scrittura datiLa prima operazione da compiere è l'apertura di un connessione con il DBMS. Occorre prima caricare le classi dello specifico gestore di database e successivamente richiedere una connessione con user e password. Nel nostro caso è possibile indicare un "user" ed una "password" a piacere in quanto non abbiamo realizzato alcuna protezione di accesso. // database URL final String DB_URL = "jdbc:odbc:DBSApplet"; // connessione database private Connection con; // database statement private Statement stmt; /** * Apre connessione database. */ public void openDBMSConnection() { try { // classi del fornitore Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(java.lang.ClassNotFoundException e) { System.out.print(" Error."); } try { // richiesta di connessione - ritorna una istanza di connessione con = DriverManager.getConnection(DB_URL, "User", "PWD"); // statement per inviare i comandi al database stmt = con.createStatement(); } catch(SQLException ex) { System.out.println(" Error."); } } E' necessario realizzare anche la funzione di chiusura connessione da utilizzare alla chiusura del nostro servizio. /** * Chiude connessione al database. */ public void closeDBMSConnection() { try { // libera statement stmt.close(); // chiude connessione con.close(); } catch(SQLException ex) { System.out.println(" Error."); } } Le funzioni che seguono permettono la gestione della nostra tabella anagrafica e non necessitano di ulteriori spiegazioni essendo scritte in SQL molto semplice. Le operazioni di cancellazione e di modifica sfruttano il codice univoco ed autoincrementante di ogni anagrafica. Inserimento anagrafica.
Modifica i dati di una anagrafica.
Cancella una anagrafica.
Ritorna una stringa contenente tutti i record della tabella.
Esegue una ricerca sia per codice che per ragione sociale ritornando una stringa con i risultati. Nel caso in cui si ricerchi per codice verrà ritornata sempre una sola anagrafica dato che il codice è chiave ed autoincrementante.
ConclusioniSiamo cosi giunti alla fine di questo secondo articolo. Abbiamo fatto una panoramica di JDBC-ODBC scrivendo le funzioni di base per il lato server. Per il download dei sorgenti Java e dell'archivio Access . Per chi volesse provare il codice fornito è possibile utilizzare il JDK 1.1.7 della Sun. Per ogni tipo di domanda o suggerimento relativo all'articolo inviatemi un e-mail all'indirizzo segnato in seguito. Un saluto a tutti. Stefano Carfagna è Collaboratore di BETA dal 1998; è raggiungibile su Internet tramite la redazione oppure all'indirizzo scxscx@hotmail.com. Copyright © 1999 Stefano Carfagna, tutti i diritti sono riservati. Questo Articolo di BETA, insieme alla Rivista, è distribuito secondo i termini e le condizioni della Licenza Pubblica Beta, come specificato nel file LPB. |
BETA 2199.4: Sommario | Indice del Numero | Redazione | Liste/Forum | Informazioni | Licenza Pubbl. Beta | Mirror ufficiali | Abbonati a BETA | Guida | Cerca | Stampa
Copyright © 1994-1999 BETA, tutti i diritti sono riservati - http://www.beta.it |