2016-08-01 45 views
0

Ich bin immer noch ziemlich neu in Java und ich denke, ich habe ein Projekt mit einem Problem gestartet.App mit Derby-Datenbank - Client-Zugriff muss in Embedded geändert werden?

Ich habe einen Job für einen Freund, in dem es Mitarbeiter, Verschiebungen, Websites und diese benötigt, um am Anfang geladen werden.

Ich suchte nach Lösungen und entschied mich, eine Derby-Datenbank zu verwenden. Ich habe jetzt die Anwendung programmiert und es funktioniert gut mit der Datenbank. Es lädt alle Parameter und erstellt Objekte zur Bearbeitung,

Jetzt muss ich mein Projekt auf meinem Computer Freunde bereitstellen, damit er es verwenden kann und ich denke, ich habe die Datenbank falsch eingerichtet. Ich denke, ich musste es eingebettet haben? So geht es mit der Anwendung.

So sind meine Fragen, was sind meine Entscheidungen,

Ich las ich die Datenbank ein ‚eingebettet‘ ein, indem Sie die Datenbank eine Klasse ändern? Ich habe keine Ahnung, wie ich das machen soll und vielleicht, weil ich neu in Java bin, finde ich alle Aufsätze zu diesem Thema schwierig zu verstehen.

Alternativ dachte ich, vielleicht kann ich Derby separat installieren und damit verbinden?

Oder vielleicht kann mir das Derby Idee fallen und ganz in einer anderen Datenbank vollständig wechseln,

ich hier ein wenig verwirrt über meine Entscheidungen bin, im Grunde habe ich eine Anwendung um eine Installation von Derby DB mit diesem gebaut Linie, um sich damit zu verbinden. jdbc:derby://localhost:1527/SG_database

Wenn jemand mir einige 'Plain English' Optionen hier geben kann, würde ich es sehr schätzen.

+0

Diese Frage scheint [ersetzt durch die nächste Frage des OP] (https://stackoverflow.com/questions/39053060/change-derbyclient-to-embedded) - siehe eine frühere Bearbeitung dieses Beitrags. – halfer

Antwort

0

Ihre Anwendung neu zu konfigurieren Derby als eingebettete Datenbank zu verwenden, alles, was Sie tun müssen, ist, dass JDBC-Verbindungs-URL zu jdbc:derby:SG_database ändern, und ändern Sie Ihre CLASSPATH so dass Ihr Programm Referenzen derby.jar statt derbyclient.jar. Sie sollten möglicherweise ;create=true an das Ende dieser URL hinzufügen, damit die Datenbank beim ersten Start Ihrer Anwendung auf dem Computer erstellt wird.

Aber ja, Sie haben andere Möglichkeiten, und ohne eine Menge über Ihre Anwendung zu wissen, ist es schwer, Ihnen sehr detaillierte Anleitung zu geben.

Wenn Ihr Freund die Anwendung verwendet, möchten Sie, dass Sie und Ihr Freund die gleichen Daten teilen? Oder ist Ihre Anwendung so konzipiert, dass Ihre Daten und die Daten Ihrer Freunde nichts gemeinsam haben?

Wenn Sie die Daten teilen möchten, dann ist es wichtig, eine einzige Instanz der Datenbank zu haben, und beide müssen sie teilen, in diesem Fall kann eine Client-Server-Konfiguration ziemlich gut funktionieren.

Wenn Sie zwei völlig separate Anwendungen haben möchten, die nicht geteilt werden und jeder von Ihnen eine eigene Kopie der Daten hat, dann kann eine eingebettete Konfiguration sehr gut funktionieren.

Vielleicht könnten Sie einfach die eingebettete Konfiguration ausprobieren, sehen, wie sie sich mit Ihrer Anwendung verhält, und dann zurückkommen, wenn Sie eine spezifischere Frage haben?

+0

Ja, es ist völlig getrennt. Die App muss die Informationen nur in der Datenbank speichern, wenn sie nicht ausgeführt wird. So eingebettet ist der Weg zu gehen, ... und ich weiß, dass dies eine Frage wird, werde ich zurück und schaudern, aber ..... Wo finde ich den CLASSPATH? –

+0

Sie setzen 'CLASSPATH' mit dem Flag' -cp' auf 'java' oder mit der Umgebungsvariablen' CLASSPATH'. Siehe http://docs.oracle.com/javase/tutorial/essential/environment/paths.html und https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html –

+0

I Ich kämpfe immer noch hier, ich kann keine Umgebungsvariable für beide Derby-Treiber finden - ich bin wirklich neu, Meine aktuelle CLASSPATH-Variable ist wie folgt: - –