java.sql.SQLException: Keine Datenbank ausgewählt - warum?

die letzten Tage war ich versucht zu lernen, wie der Zugriff auf mySQL-Datenbanken über Java.
Ich bin in der Lage, den Treiber zu laden und eine Verbindung zu der Datenbank ( zumindest denke ich so, da ich nicht bekommen, eine Ausnahme gibt es..)

der code ist:

    import java.sql.*;
    public class test
    {
        public static void main(String[] args)
        {
            try
            {
              Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
              System.out.println("driver loaded...");
            }
            catch(ClassNotFoundException e){
              System.out.println("Error in loading the driver..."+e);
              System.exit(0);
            }
            try
            {
                Connection dbConnection= DriverManager.getConnection("jdbc:odbc:test","root","password");
                System.out.println("Connection successful...");
                Statement stmt = dbConntection.createStatement();
                stmt.executeUpdate("create table Accounts ( name char(20) )");
             }
             catch(SQLException e)
             {
                  System.out.println("database-ConnectionError: "+e);
                  System.exit(0);
             }   
        }
    }

Wenn ich es ausführen, es sagt:

Treiber geladen...
Verbindung erfolgreich...
Datenbank-ConnectionError: java.sql.SQLException: [MySQL][ODBC 5.2(w) Driver][mysqld-5.5.31]Keine Datenbank ausgewählt

Ich weiß wirklich nicht das problem, weil ich dachte, die Datenbank ist ausgewählt, während die "getConnection" - Prozess....
Ich habe versucht eine Datenbank auswählen, durch hinzufügen dieser Zeile:

    stmt.executeUpdate("use test;");

nach der Erstellung der Erklärung.

leider hat es nicht funktioniert, weil ich noch eine weitere Ausnahme, die sagte, ich solle schauen Sie auf die syntax. Ich verstehe nicht, dass entweder, weil in meiner commandline funktioniert es Prima...
Ich weiß nicht, ob es möglich ist, verwenden Sie diese Art der Befehle über Java-so, wenn nicht, bitte verzeiht mir meine Fehler.

Ich hoffe Ihr könnt mir helfen und dass ich nicht verpassen die Lösung während meiner eigenen Suche!

Schon Danke an alle, die Antworten und Ihre Zeit, auf meine Probleme!

ps. Wenn ich vergessen, ein paar wichtige infos ( glaube ich nicht, was ich getan habe), bitte Fragen:)

edit: ich habe auch versucht eine neue Datenbank zu erstellen während der Laufzeit

     stmt.executeUpdate("CREATE DATABASE test;");

dies tatsächlich funktioniert, aber die Datenbank nicht ausgewählt werden...

Nebenbei: mit einem JDBC-Treiber, sollten Sie nicht verwenden Befehle wie use <database> zum wechseln zwischen Datenbanken. Stattdessen sollten Sie verwenden setCatalog - und/oder setSchema (oder geben Sie die Datenbank in der Verbindungszeichenfolge). Mit use <database> führen können zu unkorrektem Verhalten der Fahrer.

InformationsquelleAutor sepphuber3 | 2013-06-04

Schreibe einen Kommentar