2017-02-24 7 views
-1

Ich habe ein Java-Projekt. Es verwendet MySQL-Datenbanktransaktionen. Ich würde dieses Java-Projekt in dem anderen Computer ausführen. Ich würde ein Setup machen. In diesem Setup müssen Sie die .sql Datendatei importieren. Aber MySQL muss sein. Und ich würde MySQL nicht auf dem anderen Computer installieren. Ich würde die MySQL-Server-Datei in das Setup stellen.Starten Sie MySQL, ohne es zu installieren

Wie kann ich tun?

+0

Bitte bearbeiten Sie Ihre Frage, um weitere Informationen zu geben. Werden Ihre Benutzer (die Ihr Setup-Programm ausführen) ihre eigenen MySQL-Server verwenden, um Ihr Java-Programm auszuführen? Werden mehrere Benutzer denselben MySQL-Server miteinander teilen? Befindet sich der MySQL-Server immer auf einem anderen Rechner als Ihr Java-Programm? –

Antwort

1

Statt localhost Verbindung wie folgt verwenden:

Connection connection = DriverManager.getConnection(
        "jdbc:somedb://localhost/databasename", "username", "password"); 

Sie die @IP des anderen Computer oder Server zum Beispiel verwenden können 10.6.99.122, so kann dies Ihr Problem lösen und nicht installieren müssen oder importieren Ihre sQL-Datei in den anderen Computern:

Connection connection = DriverManager.getConnection(
        "jdbc:somedb://10.6.99.122/databasename", "username", "password"); 

EDIT

Sie können mehr über eingebettete Datenbank erfahren hier Java, MySQL: Is there a way to embed a MySQL server with a Java program? und hier Embedding mysql in java desktop application und auch here

+0

Gibt es einen anderen Weg? Ich möchte den Programmcode nicht ändern. –

+0

Wenn Sie MySQL oder irgendein DBMS verwenden, das nicht eingebettete Datenbank https://en.wikipedia.org/wiki/Embedded_database ist, also ich befürchte, dass das nicht möglich ist @SOFJMP –

+0

Ja benutze ich MySQL. @ YCF_L –

0

entweder Sie externe Verbindung verwenden und hosten Ihre Datenbank zu einem Web-Hosting, oder wenn Sie nicht brauchen, um die Daten zu teilen und die Daten lokal gespeichert und vom Benutzer selbst generiert, dann können Sie stattdessen sqlite-Datei verwenden. Ihre Frage sollte mehr über die Art der Daten und deren Verwendung erklären, damit wir Ihnen die beste Lösung bieten.

+0

Ich würde nicht sqlite verwenden. –

0

Wenn Sie hoffen, dass Ihre Kunden Ihr Java-Programm auf ihren Computern ausführen und es mit ihren MySQL-Servern verbinden, müssen Sie Ihre Datenbankverbindungszeichenfolge in eine Java-Eigenschaftendatei eingeben. Sie haben keine Wahl. Sie müssen Ihren Kunden erlauben, ihre eigenen Verbindungszeichenfolgenwerte festzulegen.

Verbindungszeichenfolgen werden verwendet, um neue JDBC-Verbindungen herzustellen. Sie sehen in der Regel etwas wie folgt aus:

jdbc:mysql://mysql1.datacenter.example.com:3306/sofjmp?user=username&password=xxxxxsx 

Sie können die Datenbank-Benutzernamen und Passwort Geheimnisse in der Verbindungszeichenfolge des Benutzers sind Sie in den Eigenschaften Datei speichern. Damit haben Ihre Kunden die Möglichkeit, ihre eigenen Datenbankanmeldeinformationen anzugeben.

Ihr Setup-Programm sollte Anweisungen für Benutzer zum Festlegen dieser Verbindungszeichenfolgeneigenschaft enthalten. Sie können Ihre .sql-Datei auch mit Ihren Tabellendefinitionen in Ihr Setup-Programm aufnehmen. Sie können Ihre Kunden anweisen, die .sql-Datei beim ersten Einrichten des Programms auszuführen.

Verwandte Themen