Datenbank in Java

Aloisia

Mitglied
Hallo,

ich benutze
Eclipse Java EE IDE for Web Developers.
Version: Kepler Service Release 2

und möchte einige Daten in einer Datenbank speichern um diese später in ein Java Programm zu integrieren.
Ich habe dazu meine Insel(8.Auflage) genommen, und versucht die Schritte nachzumachen, bin allerdings gescheitert. Auch habe ich im Internet auf der Homepage der Insel noch mal nachrecherchiert, und das Ganze auch noch mal Schritt für Schritt versucht.
http://openbook.rheinwerk-verlag.de...24_002.htm#mjbde658104f14f417b3b4026c8a516112

Ich habe also das Programm HSQLDB heruntergeladen, eine Datenbank erstellt, mit den Testdaten gefüttert, Programm geschlossen.
In Eclipse das Plugin heruntergeladen -Neustart- im Zweig Database Connections die Verbindung aufgebaut (Ping OK) das SQL File erstellt.
Beim erstellen des File kann ich aber nicht "TutegoDB" auswählen nur PUBLIC.
Führe ich das Skript aus erhalte ich

An internal error occurred during: "SQL Statement Execution".
java.lang.NullPointerException
 

Aloisia

Mitglied
Ich bin das Ganze jetzt noch 5 mal durchgegangen, es will einfach nicht funktionieren.
Hat jemand eine Lösung? Ich bin für jede Hilfe dankbar!
 

sheel

I love Asm
Hi

kann seit gestern leider nicht wirklich einen Sinn aus dieser Frage machen,

Soll es eine dateibasierte DB für das eine Programm werden (wofür HSQL häufig eingesetzt wird) oder ein alleinstehender Server, der von allen möglichen Programmen DB-Anfragen erhalten kann? Wenn ersteres, was hast du wohin gepingt, dass du sogar eine Antwort bekommen hast? Zum DB-Server wohl nicht. Wenn letzeres, dann hast du dich wohl doch nicht Schritt für Schritt an die Buchanleitung gehalten, weil die die Dateivariante beschreibt.

Eclipse Java EE IDE for Web Developers
Welche Art von Programm soll es denn insgesamt werden?

In Eclipse das Plugin heruntergeladen -Neustart- im Zweig Database Connections die Verbindung aufgebaut
Klingt nicht gut. Erstens sind IDEs (subjektiv: vor allem Eclipse und VS) so ziemlich immer mehr schädlich als hilfreich, solang man die Vorgänge dahinter noch nicht versteht, zweitens weiß hier keiner welches Plugin von wo heruntergeladen wurde, drittens weiß zumindest ich nicht was das mit dem eigentlichen Problem zu tun hat. DB-Zugriffe über JDBC sind eigentlich reine Codesache.

An internal error occurred during: "SQL Statement Execution".
java.lang.NullPointerException
Dann bitte zumindest ordentliches Exceptionhandling in den Code einbauen, damit man auch den Stacktrace sieht. Wenn das zum Finden vom Problem nicht hilft, bitte den Stacktrace und den Code herzeigen.

Hast du keinen eigenen Namen gegeben? Und eigenen Inhalt?
 

Aloisia

Mitglied
Hi

Soll es eine dateibasierte DB für das eine Programm werden (wofür HSQL häufig eingesetzt wird)

Ja, ich will in der Datenbank Daten speichern, die das Programm dann ausliest bzw. bearbeitet.

Wenn ersteres, was hast du wohin gepingt, dass du sogar eine Antwort bekommen hast? Zum DB-Server wohl nicht. Wenn letzeres, dann hast du dich wohl doch nicht Schritt für Schritt an die Buchanleitung gehalten, weil die die Dateivariante beschreibt.
Wenn ich auf "Test Connection" (wie im Buch beschrieben klicke bekomme ich die Meldung "Ping succeeded"

Welche Art von Programm soll es denn insgesamt werden?

Ich bastel an einem alten Programm weiter. Damals wollte ich Daten zeilenweise in einem Textfile speichern, und dann Zeilen/Zeichen bearbeiten. Mir ist damals geraten worden eine Datenbank zu verwenden. Ich habe dann eine andere Lösung gefunden (habe 300 Textfiles erstellt, kommt mir "etwas" unsauber vor)

Klingt nicht gut. Erstens sind IDEs (subjektiv: vor allem Eclipse und VS) so ziemlich immer mehr schädlich als hilfreich, solang man die Vorgänge dahinter noch nicht versteht, zweitens weiß hier keiner welches Plugin von wo heruntergeladen wurde, drittens weiß zumindest ich nicht was das mit dem eigentlichen Problem zu tun hat. DB-Zugriffe über JDBC sind eigentlich reine Codesache.

Das Plugin ist DTP (Eclipse Data Tools Platform) wie im Buch beschrieben.

Dann bitte zumindest ordentliches Exceptionhandling in den Code einbauen, damit man auch den Stacktrace sieht. Wenn das zum Finden vom Problem nicht hilft, bitte den Stacktrace und den Code herzeigen.

Wenn ich auf "Execute SQL Files" klicke kommt nicht mehr. Das macht mich ja verrückt. Ich halte mich (bis auf den Dateipfad c:\Java\TutegoDB statt c:\TutegoDB) so genau wie möglich an das Beispiel im Buch, da ich erst einmal sehen wollte wie das funktioniert um es erst später für meine Zwecke zu modifizieren.

Hast du keinen eigenen Namen gegeben? Und eigenen Inhalt?

Wie oben beschrieben, ich will mich genau an das im Buch halten.
 

sheel

I love Asm
Ja, ich will in der Datenbank Daten speichern, die das Programm dann ausliest bzw. bearbeitet.
:rolleyes: Das war schon klar. Nur die eigentliche Frage ist nicht beantwortet.

Ich bastel an einem alten Programm weiter. Damals wollte ich Daten zeilenweise in einem Textfile speichern, und dann Zeilen/Zeichen bearbeiten. Mir ist damals geraten worden eine Datenbank zu verwenden. Ich habe dann eine andere Lösung gefunden (habe 300 Textfiles erstellt, kommt mir "etwas" unsauber vor)
Beantwortet die Frage leider auch nicht. Vermutung: ein ganz normales Desktop-Programm ohne irgendwas Spezielles, und noch nie was Anderes gemacht: Wofür dann die EE-Version von Eclipse?

Das Plugin ist DTP (Eclipse Data Tools Platform) wie im Buch beschrieben.
Ok, das hab ich übersehen. Aber was du übersehen zu haben scheinst, das ist für dein Programm eigentlich gar nicht nötig. Es ist eine Alternative zum HSQL-DB-Manager, nur halt in Eclipse drin (bzw. eine Ergänzung. Den HSQL-Manager braucht man vermutlich zum Anlegen der DBs usw. trotzdem noch). Wenn es nicht funktioniert stört das nicht wirklich (Eclipse ist sowieso...naja), mit HSQL-Manager und dem eigenen Programm kann man auch alles machen.

Wenn ich auf "Execute SQL Files" klicke kommt nicht mehr. Das macht mich ja verrückt.
(Aahh, jetzt kapier ich erst dass die Exception aus dem Plugin kommt. Das vorher Geschriebene bleibt trotzdem gültig.)
...Was ist wichtiger, dieses fehlerhafte Plugin zum Laufen zu bekommen oder das eigene Programm?

PS: Das Buchkapitel scheint zwischen 5 und 12 Jahre alt zu sein, zumindest teilweise
 
Zuletzt bearbeitet:

Aloisia

Mitglied
:rolleyes: Das war schon klar. Nur die eigentliche Frage ist nicht beantwortet.


Beantwortet die Frage leider auch nicht. Vermutung: ein ganz normales Desktop-Programm ohne irgendwas Spezielles, und noch nie was Anderes gemacht: Wofür dann die EE-Version von Eclipse?

Sorry! Desktop Programm, ja... die EE hab ich seit ich Eclipse ein Update hab machen lassen... habe ich jetzt seit 2 Jahren oder so, hab mich daran gewöhnt.

Ok, das hab ich übersehen. Aber was du übersehen zu haben scheinst, das ist für dein Programm eigentlich gar nicht nötig. Es ist eine Alternative zum HSQL-DB-Manager, nur halt in Eclipse drin (bzw. eine Ergänzung. Den HSQL-Manager braucht man vermutlich zum Anlegen der DBs usw. trotzdem noch). Wenn es nicht funktioniert stört das nicht wirklich (Eclipse ist sowieso...naja), mit HSQL-Manager und dem eigenen Programm kann man auch alles machen.

Das Plugin sollte die Daten nur in Eclipse anzeigen. Wenn ich die von mir erstellte Datenbank (mit den Testdaten) wieder mit hsqldb öffne, funktioniert alles. Ich dachte halt, ich halte mich ans Buch (und hab so gleich eine Kontrolle ob es funktioniert...)

(Aahh, jetzt kapier ich erst dass die Exception aus dem Plugin kommt. Das vorher Geschriebene bleibt trotzdem gültig.)
...Was ist wichtiger, dieses fehlerhafte Plugin zum Laufen zu bekommen oder das eigene Programm?

Das eigene Programm natürlich. Ich habe jetzt gar keinen Fehler im Plugin vermutet, dachte daher ich hätte (bei den simplen Schritten) irgendetwas übersehen... Also weg mit dem Plugin?

PS: Das Buchkapitel scheint zwischen 5 und 12 Jahre alt zu sein, zumindest teilweise

Ja, die Screenshots stimmen nicht mehr überein...

Btw: Was würdest du statt Eclipse empfehlen?
 

sheel

I love Asm
Ich habe jetzt gar keinen Fehler im Plugin vermutet, dachte daher ich hätte (bei den simplen Schritten) irgendetwas übersehen... Also weg mit dem Plugin?
Wenn das die aktuellste Version davon war (falls es überhaupt mehrere gibt), ja.
Eine NullPointerException bedeutet eindeutig, dass der Anwender nichts dafür kann, wenns nicht geht.

Ja, die Screenshots stimmen nicht mehr überein...
:) Also das auch noch ... ich hab mich auf die angegebene Version von der OracleDB bezogen
(in dem Textteil wo es um diese DB geht)


Btw: Was würdest du statt Eclipse empfehlen?
Wenn es eine IDE wie Eclipse sein soll, keine Ahnung (IntelliJ soll ganz gut sein, habs aber noch nie versucht).

Eclipse selber hatte ich auch mal, lang her, und schon damals hab ich mich nur darüber geärgert. Laut diversen Internetquellen wird es aber immer schlimmer.). Hab dann angefangen Notepad++ zu verwenden, was eher ein guter Texteditor statt IDE ist. Kann zwar Syntaxhighlighting und so, aber keine Sachen wie Autovervollständigen von Codestellen, keine Projektverwaltung (welche Dateien im Programm sind, Kompilieren und ausführen per Klick...), kein anzeigen von Compilerfehlern während man schreibt usw. : Trotzdem gings von Anfang an schneller zu Programmieren als mit Eclipse, allein schon wegen der möglichen Tippgeschwindigkeit ( :rolleyes: ). Als Ergänzung für die Projektverwaltung Ant-Makefiles (händisch geschriebene Dateien in einem bestimmten Format, welche Befehle für "Kompilieren" usw. ausgeführt werden wollen, und das händisch in der Konsole aufrufen.

Jedenfalls, für das Hauptproblem:
Das Buch hat immerhin gezeigt, wie man den HSQL-Manager zum Anlegen von DBs usw. verwendet und dass man die jar-Datei davon braucht. Um die DB im eigenen Programm zu verwenden brauchts dann nur noch den passenden Code, wobei http://infolab.stanford.edu/~ullman/fcdb/oracle/or-jdbc.html eine kurze Übersicht der wichtigsten Sachen hat. Durchlesen, die nötigen Stellen ins Programm kopieren und Dateinamen, Tabellennamen usw. anpassen sollte reichen.
 
Zuletzt bearbeitet:

Aloisia

Mitglied
Danke dir! Sehe ich mir morgen durch!

Notepad++ kenne ich, da ich aber (wie man unschwer erkennen kann) nicht sehr versiert bin im programmieren, brauche ich einen Compiler der "schreit" wenn etwas nicht passt...
 

Improof

Erfahrenes Mitglied
Offtopic:
@sheel: Habe auch schon gehört, dass Eclipse früher wohl noch einen besseren Ruf hatte. Was heißt bei dir damals? Ich bin ja erst seit ein paar Jahren im Programmier-Geschäft und hatte mit Eclipse eigentlich nie große Probleme und verwende es darum in der Arbeit auch tagtäglich. Aber evtl. bin ich auch nur einer von wenigen ;)
 

sheel

I love Asm
@Improof Weil es viele Firmen praktisch vorschreiben existiert es wohl noch :p
Die, die das entscheiden, sind meistens nicht die, die es auch verwenden müssen...
aber wenns bei dir keine Probleme gibt, sehr gut

Das Letzte, dass ich verwendet habe, müsste Galileo gewesen sein
(laut Wikipedia war das zwischen 2009 und 2010. An das Jahr kann ich mich selber nicht mehr erinnern)

Der Rechner wo es lief war nicht der Schnellste (nicht komplett veraltet, nur billig), aber das man ein paar Sekunden nach dem Tippen noch immer zuschauen kann wie die eingegebenen Buchstaben auftauchen, und man beim Starten von Eclipse daneben einen Kaffee holen kann, war für mich letztendlich wohl das Ausschlaggebende.

Dazu falsche Java-Fehlermeldungen innerhalb von Eclipse, die mir der eigentliche Javacompiler in der Konsole nicht gegeben hat (aber die das Starten etc. aus Eclipse heraus trotzdem verhindert haben), ab und zu Abstürze die das ganze Projekt mitlöschen (deswegen stündlich Backups vom ganzen Ding), Overhead von einigen hundert MB pro Projektordner und noch mehr Zeug wo man nicht versteht, was da überhaupt passiert, usw.usw.