Problem mit Datenbankdesign


#41

Jetzt wo endlich der SQL-Code funktioniert, spinnt plötzlich mein Datenbanktreiber. Ich habe noch eine zusätzliche Tabelle hinzugefügt und plötzlich bekomme ich bei jedem lesenden Zugriff auf die DB eine SQLException:

java.sql.SQLException: out of memory
	at org.sqlite.DB.throwex(DB.java:288)
	at org.sqlite.NativeDB.prepare(Native Method)
	at org.sqlite.DB.prepare(DB.java:114)
	at org.sqlite.Stmt.executeQuery(Stmt.java:89)
	at utils.DatabaseManager.executeQuery(DatabaseManager.java:228)
	at test.DatabaseTest.listTables(DatabaseTest.java:269)
	at test.DatabaseTest.main(DatabaseTest.java:25)

Die betreffene Codezeile ist ein SELECT-Query der vorher immer funktionier hat. Ich habe auch versucht die DB neu zu erstellen und die neue Tabelle auszulassen - ohne Erfolg.


#42

Da hat wohl irgendwas zu wenig Arbeitsspeicher :frowning:


#43

nein nicht zuwenig Arbeitsspeicher, du bekomsmt zuviele Ergebnisse zurück
Entweder musst du deine Abfrage überprüfen oder deiner Anwendung mehr Speicher geben(Startparameter)


#44

Aber das ist völlig irrsinnig! Ich habe jetztmal testweise nur genau eine Tabelle mit keinen Daten angelegt. Will ich die leere Tabelle ausgeben bekomme ich denselben Fehler. Kann es sein dass der DB-Treiber plötzlich die Datenbanken falsch anlegt?

Wie kann es soetwas geben, wo vor ein paar Stunden alles noch funktioniert hat? Kann möglicherweise die JAR beschädigt sein? Dann sollte aber eigentlich gar nichts mehr funktionieren.

Es ist echt scheiß wichtig dass das bald wieder funktioniert :frowning:


#45

nein das kann nichts mit kaputten Tabellen oder Jars zu tun haben, sieh mal im Debugger nach wo der Fehler auftritt


#46

Der Debugger liefert mir leider überhaupt keine nützlichen Informationen. Zu Beginn werden ein paar Threads gestartet und dann folgt auch gleich der Abbruch des Testprogramms.

EDIT: Jetzt wird’s aber sehr peinlich ^^’
Ich hab nur versehentlich den Code zum öffnen der Datenbankverbindung gelöscht. Sry … :o


#47

Schön, dass das Problem gelöst ist, aber eines hätte ich doch noch gerne geklärt:

[QUOTE=EagleEye;9753]nein nicht zuwenig Arbeitsspeicher

oder deiner Anwendung mehr Speicher geben(Startparameter)[/QUOTE]

versteh ich nicht :stuck_out_tongue_winking_eye:


#48

öh wenn du die Verbindung nicht öffnest kackt er ab?
Ich würd da an deiner Stelle mal bei den Treiberherstellern nachhaken ob das nicht nen Bug ist, weil da ist ne einfache Exception eigentlich schöner.


#49

Nunja, es handelt sich ja um eine SQLException. Nur die error msg ist nicht gerade aussagekräftig ^^


#50

achso, hätten die aber mal bisschen besser machen können :wink: