Gewusst wie: Verbinden mit dem MySQL-Datenbank-Datei( .sql ) mit Verzeichnis-Pfad Wie MS Access?
Sorry Vielleicht ist dies das zweite mal, ich Stelle diese Frage, weil Sie nicht immer alle Antworten .
dies ist mein Code
try{
File f = new File("Database.sql");
if(f.exists()){
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/"+f.getName(),"","");
}else{
f.createNewFile();
System.out.println("file created");
//also do the connection
}
}catch(Exception ex){
System.out.println(ex.getMessage());
}
und Hier ist der Fehler :
Communications link failure
Das Letzte Paket erfolgreich gesendet zum server wurde 0 Millisekunden vor. Der Fahrer hat nicht alle empfangenen Pakete vom server.
Den Zweck dieser Frage ist:
Ich bin der Erstellung einer Anwendung für viele Anwender, das problem ist, Sie wissen nichts über computer und ich muss es so einfach wie möglich.
So gibt es eine Möglichkeit, um eine Verbindung mit MYSQL wie MS ACCESS per Directory-Pfad ?
ODER gibt es einen anderen Vorschlag statt ?
Dank .
- Überprüfen Sie diesen link: stackoverflow.com/questions/6865538/...
- Bevor Ihr Kommentar, den ich gelesen hatte, das linke hhhh trotzdem Danke 🙂
- Ihre .sql-Datei ist wahrscheinlich nicht eine Datenbank-Datei, sondern ein script.
- Wenn Sie nicht bekommen, eine Antwort (oder eine gute), sollten Sie Lesen Sie stackoverflow.com/faq#bounty
- Dank
- Der Bounty Beginnt nach zwei Tagen ?
- Richtig. Sie können auch löschen Sie Ihre andere Frage, und aktualisieren Sie diese Frage mit abweichende details zwischen den beiden.
- Weißt du vielleicht die Antwort aber das warten für die Ammer 🙂
- Ich Stimme mit @JeremiahOrr, dass Sie müssen eine laufende MySQL-Instanz. Sie können nicht Punkt JDBC sql-Dateien oder frm-Dateien.
- Ich bin damit einverstanden, und es wird meine Letzte Lösung
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorläufige Definitionen
"Connect to a MySQL-Datenbank-Datei" falschen Phrasierung.
Tatsächlich verbindet zu einer MySQL-Datenbank server, die es erlaubt Zugang zu einem Datenbank. Und so muss es sein, einen MySQL-server zu verbinden, mehr dazu unten.
Ihre
Database.sql
- Datei ist eine Datenbank-dump-Datei, das heißt, eine dumme (plain text) Datei. Sie benötigen einen spezialisierten Prozess zum extrahieren von Daten aus es, nach der Interpretation der SQL-Abfragen: ein Datenbank-server.Könnte man annehmen, dass man eine Verbindung zu einem Datei, weil Sie verwendet werden, um die Arbeit mit MS Access-Dateien. Ich bin kein Experte, weder in Java noch in MS Access, aber es ist meine undestanding, dass der Zugriff auf eine MS Access "Datenbank" - Datei von Java eigentlich bedeutet Verbindung mit einigen middleware - server, wie diese ODBC-Dingens von Microsoft.
Die Antwort
Gibt es keine Möglichkeit, eine Verbindung zu einer MySQL-Datenbank server über ein Verzeichnis Pfad. Die einzige einheimische Arten sind:
Könnte es einige Drittanbieter-Stück software um, die andere Protokolle, die ich bin mir nicht bewusst, aber Sie alle reduzieren auf das gleiche problem: es muss eine MySQL-sever läuft irgendwo.
Auf den zweiten Gedanken, es ist tatsächlich eine Möglichkeit zum Zugriff auf MySQL-Daten ohne eine externe MySQL-server läuft: der eingebettete MySQL-server-C-Bibliothek. Ich habe nie versucht es selbst, aber es sieht aus wie eine praktikable option für stand-alone-Anwendungen. Ich glaube nicht, jedoch, dass es eine wünschenswerte Lösung, wenn Sie planen, denselben MySQL-Daten auf mehrere Prozesse oder Computer.
Die Problemumgehungen
Ich jetzt verstehen Sie den Aufbau einer Java-desktop-Anwendung, basierend auf Daten, die Sie in form eines SQL-dump-Datei, wahrscheinlich, stammt von einem MySQL-server. Wenn Sie möchten, dass Ihre Benutzer in der Lage sein, den Zugriff auf diese Daten von dieser Java-Anwendung, ich kann sehen Sie ein paar Optionen:
Installieren Sie einen MySQL-server auf Ihrem Computer aus und laden Sie diese dump in ihm. Offensichtlich, wie die Hölle, aber unpraktisch, wenn ich höre Sie gut. Obwohl ich denke diese Anlage könnte sicherlich automatisch durchgeführt werden, die von Ihrer Java-Anwendung.
Installieren Sie einen MySQL-server auf einer Maschine, auf der Sie Ihre eigenen, und machen es zugänglich von den Computern der Benutzer. Großer Nachteil: es erfordert den Benutzer verbunden sein. Sie würde wohl auch wollen, erstellen Sie eine einzelne Datenbank für jeden Benutzer.
Verwenden Sie ein eigentlich serverlose Datenbank-engine wie der SQLite. Dies scheint die beste option für Sie. Die SQL-syntax ist praktisch identisch mit dem MySQL-für die üblichen Operationen. Es muss viel JDBC-Treiber. Nochmal, ich bin nicht der beste Berater in Java, aber diese eine scheint ein ernsthafter Kandidat.
\\fileserver\db.sqlite
), dann sind Sie gut zu gehen. Wenn nicht, dann könnte man montieren Sie die Netzwerkfreigabe als Laufwerk. Wenn die Datenbank soll geändert werden durch die gleichzeitige threads, es gibt jedoch einige Aspekte geachtet werden. Ich schlage vor, Sie nach einer anderen Frage, über die gemeinsame Nutzung einer SQLite-Datenbank, die über ein Netzwerk, so dass Experten in SQLite springen.AFAIK, kann man nicht stecken Sie in eine Datei name in der JDBC-url für MySQL. MySQL muss aktiv sein, und Sie müssen eine Verbindung über den TCP-port. So etwas wie:
Sehen http://dev.mysql.com/doc/refman/5.6/en/connector-j-reference-configuration-properties.html