Newsgroup: it.comp.java
Titolo: access e java

non riesco ad aprire la connessione (credo)penso che non trovi il
driver
io ho scritto:
import java.sql.*;
import javax.sql.*;
public class MyDb {
private Statement st;
private Connection con;
private ResultSet rs;
public MyDb() {}
public void open(String drive,String Db,String user,String passwd){
    try{
 
    Class.forName(drive);
    con = DriverManager.getConnection(Db,user,passwd);
    st=con.createStatement();
    }catch(ClassNotFoundException openE){
         System.out.println("***e1****" + openE);
    }catch(SQLException openEsql){
         System.out.println("***e2***"+ openEsql);
         }
}
public void close(){
       try{        
       st.close();
       con.close();
       }catch(SQLException closEsql){
         System.out.println("****non riesco a chiudere:***   "
+closEsql);
       }
}       
public ResultSet executeQuery(String query)
     {   
       try{
 
 
this.rs
=st.executeQuery(query);
         }catch(SQLException queryEsql){
         System.out.println(queryEsql);
       }
 
       return rs;
     }
public void execute(String sql)
    {
       try{
       st.execute(sql);
         }catch(SQLException esql){
         System.out.println("****non riesco a chiudere:***   " +esql);
       }       
     }  
      public static void main(String argv[])
 {
 	System.out.println("*****");
 	MyDb a= new MyDb();
 	System.out.println("*****");
 	a.open("sun.Jdbc.Odbc.JbbcOdbcDriver","jdbc:odbc:C:\\Documents and
Settings\\dav\\Documenti\\informatica\\progpeg\\gb.mdb","davide","apriti");
 	System.out.println("*****");
 	 ResultSet c=a.executeQuery("select * from tab peg");
 	 try{
            while(c.next()){
       System.out.println("nome_peg: "+ c.getString(1));
       System.out.println("ufficio: "+ c.getString(2));
       System.out.println("contatore_db: "+ c.getString(3));
 
       System.out.println("*****");
       }//e.close();
        }catch(SQLException Mesql){
         System.out.println("CIAO1"+ Mesql);
         }catch(Exception Me){
            System.out.println("CIAO2"+ Me);
            a.close();
            }
 
	 }
}     
se compilo non da errori ma se lo eseguo non funziona dopo le 2 prinln
da exception quella con println ****e1**** poi errori alla riga 35 e
57
qualcuno sa dov è l'errore?? per favore 
ps come faccio a importare sun.Jdbc.Odbc.JbbcOdbcDriver non e in
java.sql??
grazie dell'aiuto ciao

pannello di controllo
origine dati odbc
DSN utente--aggiungi--driver access--cerchi il db creato
e gli assegni il nome dell'url della tua classe nel mio caso sgm  se non hai
inserito un user e password nel tuo db non metterli neppure nella classe
import java.sql.*;
public class prova
{
public static void main(String args[])
{
String url = "jdbc:odbc:sgm";
Connection con;
String createString;
Statement stmt;
ResultSet rs;
createString = "select gm_01 ,ap_02 from GiaMag Join AnaPro on gm_01=ap_01";
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(java.lang.ClassNotFoundException e)
{
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
try
{
Connection con=DriverManager.getConnection(url,"sa","sa");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(createString);
while(rs.next())
{
String risultato1=rs.getString("gm_01");
String risultato2=rs.getString("ap_02");
System.out.println(risultato1 + " " + risultato2);
}
stmt.close();
con.close();
}
catch(SQLException ex)
{
System.err.println("SQLException: " + ex.getMessage());
}
}
}

grazien molte
ma nel mio codice al posto di string Db il percorso che gli passo deve
essere  c:\\ ecc. ecc. oppure solo il nome del db?devo specificare
access da qualche parte? molte grazie ancora

String drive=sun.Jdbc.Odbc.JbbcOdbcDriver
String Db=jdbc:odbc:NOMEDATABASE

grazie ma il driver lo devo scaricare o c e gia nel sdk?