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...
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstens, ich bin am überlegen meine Antwort, Ihnen zu zeigen, ein anderes einen besseren Weg für die Verbindung mit MySQL-Datenbank, es ist viel einfacher und weniger nu-erwartet Ausnahme(N).
Müssen Sie einige Schritte ausführen:
.jar
in die Bibliothek, oder es gibt viele tuts auf YouTube).Diesem Beispiel sehen Sie unten das Beispiel unten habe ich für Sie veranschaulicht, wie eine Verbindung herstellen und ausführen von Abfragen auf MySQL :
Ihr ' r willkommen, vielleicht und vielleicht auch ODBC(Nicht sicher) :).
InformationsquelleAutor Azad
Bevor Sie eine Tabelle hinzuzufügen, müssen Sie zuerst eine Datenbank auswählen.
Sie können eine neue Datenbank erstellen mit:
können Sie eine Verbindung zu einer bestimmten Datenbank mit:
Ich eine Verbindung zu meiner Datenbank durch anfügen der url, wo Sie eine Verbindung mit dem Datenbank-Namen, wenn Sie ausgeführt werden, localhost, localhost/databasename
aktualisierte Antwort, wie ich eine Verbindung zu meiner Datenbank. Diese Methode funktioniert gut in meinem Programm.
Ich glaube, es sollte möglich sein.. Aber warum willst du die odbc verwenden, anstelle von mysql? dev.mysql.com/downloads/connector/j
InformationsquelleAutor Stefan Pante
Hier ist die aktualisierte Beispiel, das für mich funktioniert.
Stellen Sie sicher, Sie haben soeben einen richtigen mysql-connector-auf-dem build-Pfad. Verwendet habe ich das:
mysql-connector-java-5.1.24-bin.jar
gerade überprüft es jetzt 🙂 funktioniert Prima, nochmals vielen Dank!!
InformationsquelleAutor My-Name-Is