In giro ho trovato qualcosa del genere ma non riesco a farlo funzionare, me lo compila ma quando dopo lo eseguo mi dice:

java.sql.SQLException: [Microsoft][Driver Manager ODBC] Nome origine dati non tr
ovato e driver predefinito non specificato.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc .java:6958)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java :7115)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.j ava:3074)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOd bcConnection.java:3
23)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDrive r.java:174)
at java.sql.DriverManager.getConnection(DriverManager .java:512)
at java.sql.DriverManager.getConnection(DriverManager .java:171)
at api.main(api.java:12)
Press any key to continue...






codice:
   import java.sql.*;

   public class api {
     public static void main (String args[]) {
       try {
 // Carichiamo un driver di tipo 1 (bridge jdbc-odbc)
         String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
         Class.forName(driver);
 // Creiamo la stringa di connessione
         String url = "jdbc:odbc:allservice";
 // Otteniamo una connessione con username e password
        Connection con =
        DriverManager.getConnection (url, "root", "******");
 // Creiamo un oggetto Statement per poter interrogare il db
        Statement cmd = con.createStatement ();
 // Eseguiamo una query e immagazziniamone i risultati
 // in un oggetto ResultSet
        String qry = "SELECT * FROM affidi";
        ResultSet res = cmd.executeQuery(qry);
 // Stampiamone i risultati riga per riga
        while (res.next()) {
        System.out.println(res.getString("IDAffido"));
        System.out.println(res.getString("IDMandato"));
      }
      res.close();
      cmd.close();
      con.close();
    } catch (SQLException e) {
         e.printStackTrace();
    } catch (ClassNotFoundException e) {
         e.printStackTrace();
       }
    }
  }

Cosa può essere ?