Ciao, ho un problema poichè il mio programma mi restituisce l'errore in oggetto:
Classe Database:
codice:
package miodb;
import java.sql.*;
import java.util.Vector;




public class Database {

   private String nomeDB;      
   private String nomeUtente;  
   private String pwdUtente;    
   private String errore;      
   private Connection db;      
   private boolean connesso;  
   public Database(String nomeDB) { this(nomeDB, "", ""); }

   public Database(String nomeDB, String nomeUtente, String pwdUtente) {
      this.nomeDB = nomeDB;
      this.nomeUtente = nomeUtente;
      this.pwdUtente = pwdUtente;
      connesso = false;
      errore = "";
   }


   public boolean connetti() {
      connesso = false;
      try {
        
         Class.forName("com.mysql.jdbc.Driver").newInstance();

         if (!nomeDB.equals("")) {

           try{
              db = DriverManager.getConnection("jdbc:mysql://localhost/" + nomeDB + "?user=" + nomeUtente + "&password=" + pwdUtente);
           }catch(SQLException ex){
                    System.out.println("SQLException: " + ex.getMessage());
                    System.out.println("SQLState: " + ex.getSQLState());
                    System.out.println("VendorError: " + ex.getErrorCode());
                    }
            connesso = true;
         } else {
            System.out.println("Manca il nome del database!!");
            System.out.println("Scrivere il nome del database da utilizzare all'interno del file \"config.xml\"");
            System.exit(0);
         }
      } catch (Exception e) { errore = e.getMessage(); }
      return connesso;
   }
   public Vector eseguiQuery(String query) {
      Vector v = null;
      String [] record;
      int colonne = 0;
      try {
         Statement stmt = db.createStatement();    
         ResultSet rs = stmt.executeQuery(query);  
         v = new Vector();
         ResultSetMetaData rsmd = rs.getMetaData();
         colonne = rsmd.getColumnCount();

         while(rs.next()) {  
            record = new String[colonne];
            for (int i=0; i<colonne; i++) record[i] = rs.getString(i+1);
            v.add( (String[]) record.clone() );
         }
         rs.close();    
         stmt.close();
      } catch (Exception e) { e.printStackTrace(); errore = e.getMessage(); }
return v;
   }

   public boolean eseguiAggiornamento(String query) {
      int numero = 0;
      boolean risultato = false;
      try {
         Statement stmt = db.createStatement();
         numero = stmt.executeUpdate(query);
         risultato = true;
         stmt.close();
      } catch (Exception e) {
         e.printStackTrace();
         errore = e.getMessage();
         risultato = false;
      }
      return risultato;
   }
   public void disconnetti() {
      try {
         db.close();
         connesso = false;
      } catch (Exception e) { e.printStackTrace(); }
   }

   public boolean isConnesso() { return connesso; }  
   public String getErrore() { return errore; }      
}
e il main :

codice:
package miodb;
import java.sql.*;
import java.util.Vector;



public class Main{
  public static void main(String[] args){
    
Database db = new Database("nomedb","username","");
if ( !db.connetti() ) {
   System.out.println("Errore durante la connessione.");
   System.out.println( db.getErrore() );
   System.exit(0);
}


Vector v = db.eseguiQuery( "SELECT * FROM miatabella;" );

int i = 0;
while ( i<v.size() ) {
   String[] record = (String[]) v.elementAt(i);
   System.out.println("Record numero " + (i+1) );
   for (int j=0; j<record.length; j++) {
      System.out.println( record[j] );
   }
}
db.disconnetti();

  }
}

Cosa devo fare?

Grazie.