Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [Java] connessione DB Access

    una domanda semplice semplice
    Chi mi spedisce il codice java per connettersi ad un db Access e incominciare a fare query?
    Mi interessa in particolare l'apetto della connessione al DB.
    Grazie

  2. #2
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Tempo fa ho provato a costruire un oggetto Connessione, specifico
    per Database Access, per il porting di applicazioni VB60 in Java.
    Ho scelto questo approccio, perchè, una volta creato, questo oggetto
    è riutilizzabile tutte le volte che devi accedere ad un MDB.

    Tieni presente che per funzionare devi avere un DSN che individua
    il file .mdb.

    Ti posto la classe di Connessione e il modo semplice per utilizzarla.


    codice:
    /*
     * Connessione.java
     *
     * Created on 22 luglio 2004, 21.33
     */
    
    
    import java.io.*;
    import java.lang.*;
    import java.sql.*;
    import java.util.*;
    import java.text.*;
    import java.net.URL;
    
    /**
     *
     * @author  Brainjar
     */
    public class Connessione {
        
        /** Creates a new instance of Connessione */
        public Connessione() {
        } // Connessione
    
        
        public void apriConnessione(String sorgente) {
            try {
                Class.forName(class_driver);
            } catch (Exception e) { e.printStackTrace();}
            try {
                DBConnection = null; 
                DBConnection = DriverManager.getConnection(url_connect + sorgente); 
                SQLStatement = DBConnection.createStatement(); 
            }  catch (Exception ex) { ex.printStackTrace();}
        } // apriConnessione
            
        public ArrayList eseguiQuery(String q) {
            try {
                rsQuery = SQLStatement.executeQuery(q); 
                rsmd = rsQuery.getMetaData();
            }  catch (Exception ex) { ex.printStackTrace();}
            ArrayList recordset = new ArrayList();
            ArrayList record;  
    	String rsField;        
            try {
                int nCols = rsmd.getColumnCount(); 
                while (rsQuery.next()) {
                    record  = new ArrayList();
                    for (int ctCol = 0; ctCol <  nCols; ctCol++) {
                        rsField = rsQuery.getString(ctCol + 1); 
                        record.add(record.size() , rsField);
                    }
                    recordset.add(recordset.size(), record); 
                }
            }  catch (Exception ex) { ex.printStackTrace();}
            return recordset;  
        } // eseguiQuery
    
        public static String class_driver = "sun.jdbc.odbc.JdbcOdbcDriver"; 
        public static String url_connect  = "jdbc:odbc:";
        public static Connection DBConnection;
        public static ResultSetMetaData rsmd; 
        public static Statement  SQLStatement; 
        public static ResultSet  rsQuery; 
        public static String str; 
    }
    
    
    
    // per utilizzarla : 
    // 1) La classe Connessione la tieni nella stessa directory del 
    //    tuo progetto 
    // 2) Oppure fai una immport 
    // 3) Oppure fai un jar. 
    // All'inizio ti conviene sicuramente il sistema 1)
          
            // Nella classe che utilizzi per accedere ai dati :
            Connessione connessione = new Connessione();
            ArrayList lista;      // <--- Il Recordset 
            ArrayList listaCampi; // <--- L'insieme dei campi
            connessione.apriConnessione("NOME_DSN");
            lista = connessione.eseguiQuery("SELECT ......");
            // Per puro esempio. 
    
            // Scorre i records uno per uno .....
            for (int i=0; i<lista.size(); i++) { 
                 listaCampi = (ArrayList)lista.get(i);
                 // Scorre la listaCampi uno per uno .....
                 for (int j=0; j<lista.size(); j++) { 
                     String campo = (String)listaCampi.get(j);
                 }
            }
    Ciao,
    Ciao, Brainjar

  3. #3
    Utente di HTML.it L'avatar di faibo
    Registrato dal
    Mar 2003
    Messaggi
    214
    scusate l'ignoranza ma adesso mi sto accingendo ad imparare il java...volevo sapere se questa connessione al db access funziona sotto linux e mac

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Per poter utilizzare un database Access sotto Linux (non so sotto Mac, che mi pare più elastico) credo che tu debba disporre di un DSN per il collegamento ODBC e dei relativi driver ODBC. Se hai i driver allora puoi utilizzare la connessione tramite bridge JDBC-ODBC. Come effettuare la connessione l'ho spiegato tempo fa in questa pillola .


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.