Ho fatto (copiata da internet) una Classe di prova per collegarmi tramite JAVA ad un Database di Access ma in fase di compilazione mi da il seguente errore:
Error occurred during initialization of VM
Could not reserve enough space for object heap
Errors compiling Elenco.
Ha qualcuno è già capitato........
Vi posto il codice
codice:
import java.sql.*;
public class Elenco{
private static Connection con;
private static Statement st;
private static ResultSet rs;
private static int nameCol;
private static String dbURL;
public static void main(String arg[]){
try{
// aggancio il driver
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch(ClassNotFoundException e){
System.out.println("Driver non trovato");
System.exit(0);
}
try{
// mi connetto al DB soc tramite il ponte dei driver jdbc:odbc <
dbURL = new String(arg[0]); // gli passiamo jdbc:odbc:soc
con = DriverManager.getConnection(dbURL);
} catch(SQLException sql){
System.out.println("Errore connessione"); System.exit(0);
}
try {
// avviso che sto creando una query, uno statement
st = con.createStatement();
} catch(SQLException s){
System.out.println("Errore creazione statement");
}
try{
// chiedo di eseguire una select il cui output venga messo // in una result table
rs = st.executeQuery("SELECT * FROM Dipendenti ORDER BY COGNOME");
} catch(SQLException esql){
System.out.println("Errore esecuzione statement");
}
try{
// individuo numericamente la colonna della tabella che
// m'interessa COGNOME
nameCol = rs.findColumn("COGNOME");
} catch(SQLException a){
System.out.println("Errore ricerca colonna");
}
try{
// finchè ci sono tuple le prelevo (fetch)
while(rs.next()){
System.out.println(rs.getString(nameCol));
}
} catch(SQLException as){
System.out.println("Errore selzione dati");
}
try{
// quando ho finito chiudo prima lo statement
// poi la connessione
st.close();
con.close();
} catch(SQLException ad){
System.out.println("errore chiusura DB");
}
}
}