SQLLite error code 0x13: constraint failed

Goldfish

Bekanntes Mitglied
Hi, ich hab nen Fehler, wo ich weiß, woran es liegt, aber nicht weiß, wie ich das Problem löse. Da wäre es super, wenn mir jemand raushelfen könnte.

Ich habe Objekte, die ich für sehr kurze Zeit, bis sie verarbeitet sind, in der Datenbank speichere. Das Objekt knall ich einfach als Blob rein, da ich davon ausgehen kann, dass sich niemals besonders viele dieser Objekte anstauen werden. 10 Objekte der Art wären schon viel. Innerhalb der entsprechenden Klasse des Objektes, befindet sich ein weiteres Objekt. Eine einfache Klasse, die das Interface Serializable implementiert.
so siehts aus:

Die Klasse, die in erster Linie als BLOB in die Datenbank soll
Java:
class NetworkRequest implements Serializable{

    public static final long serialVersionUID = 2725129790L;
    ...
    private transient NetworkResponseHandler networkResponseHandler;
    ...
}

Wenn ich das Objekt NetworkResponseHandler aus der Klasse entferne, funktioniert alles wunderbar. Die entsprechende Klasse ist wie folgt aufgebaut;

Die Klasse ist komplett gepostet, es fehlen keine Zeilen.
Java:
public abstract class NetworkResponseHandler implements Serializable{

    // the UID is the hash value generated by the name of this class
    public static final long serialVersionUID = 2815614597L;

    protected static enum MessageKind {
        POSITIVE, NEGATIVE, FAIL
    }

    public abstract void onServerResponse(MessageKind messageKind, HttpResult result);
}

Hat jemand ne Ahnung, wieso ich einen constraint fails-Fehler bekomme, wenn ich versuche einen insert zu machen?

EDIT:

Ahja, das Objekt, das in diesem speziellen Fall gespeichert ist, ist folgendes:

Java:
         new NetworkResponseHandler() {
             @Override
             public void onServerResponse(MessageKind messageKind, HttpResult result) {
                 if (messageKind == MessageKind.POSITIVE) {
                     startActivity(startActivityOnSuccess);
                 }
             }
         });
 
Zuletzt bearbeitet:

Goldfish

Bekanntes Mitglied
so, wieder zuhause und konnte es auch direkt mal testen. Es liegt leider nicht am enum... Der Fehler bleibt bestehen... habs auch nochmal getestet, dass Objekt rauszuwerfen. Dann gehts... Echt frustrierend solche Nummern...
 

dzim

Top Contributor
Sind alle klassen innerhalb des NetworkResponseHandler auch Serializable? Also alles was du als Parameter übergibst und mit denen du vielleicht innerhalb der jeweiligen Implementierung arbeitest? Wenn da nur eins nicht Serializable ist, wirds vielleicht schon nicht gehen (sorry, dass ich da nicht genauer sein kann, aber ich habe Serializable immer vermieden :-D )
 

Goldfish

Bekanntes Mitglied
Die Idee kam mir auch schon. Und genauer kann man an der Stelle wohl auch nicht werden ^^
Aber wie ich schon sagte, ich hab oben den KOMPLETTEN Code vom NetworkResponseHandler gepostet. Mehr ist da nicht drinnen. Auch das Objekt, das versucht wird zu speicher. Bei dem kam ich gerade auf die Idee, dass es vielleicht am Intent liegen mag, der in der Methode verwendet wird - was ich für sehr unwahrscheinlich hielt -. Also hab ich die Zeile

Java:
startActivity(startActivityOnSuccess);

auskommentiert und der Fehler kommt noch immer... ich versuchs jetzt mit einem Workaround, da ich momentan nicht die Zeit habe, mich so lange mit sowas rumzuschlagen XD es ist einfach so unheimlich viel zu tun ^^°
Beim Workaround, versuch ich das Objekt jetzt mal zu serialisieren, und mit der Objekt-Id und dem zugehörigen Elementnamen in einer Datei zwischenzuspeichern. Da die Liste wie schon erwähnt nie besonders groß werden sollte, erwarte ich da mal keine großartigen performance-Schwierigkeiten^^° aber schön ist die Lösung trotzdem nicht...
Aber auch erstmal abwarten, obs funktioniert. Sitz gerade noch dran ^^
 

Goldfish

Bekanntes Mitglied
okay, es funktioniert nicht, aber jetzt zeigt er wenigstens sein wahres Gesicht und sagt mir auch warum.

Java:
07-31 18:16:58.791: WARN/System.err(3999): java.io.NotSerializableException: de.uni_bremen.activities.LoginActivity

der Spinner will mit dem NetworkResponseHandler die Activity serialisieren.... Was soll das denn?
 

Goldfish

Bekanntes Mitglied
wird noch besser... wenn ich ne Ausgabe hole von meinem NetworkResponsHandler bekomme ich die Ausgabe...
Java:
de.uni_bremen.activities.LoginActivity$1

Jemand ne Ahnung, wie ich das umgehen kann? Wird sicherlich damit zusammenhängen, dass ich den NetworkRequestHandler in dieser Activity erzeuge. Aber ich hatte jetzt auch nicht vor, diverse voraus Implementierungen von diesem Handler zu haben...
 

Goldfish

Bekanntes Mitglied
so, da ich jetzt ne neue Verhaltensweise von Java gelernt habe, ist mir klar geworden, dass das was ich versucht habe unmöglich ist. Entsprechend musste ich mir ne ganz andere Lösung einfallen lassen, mit der ich nun zurecht komme. Entsprechend ist das hier erledigt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Lohnt sich sqllite? Datenbankprogrammierung 5
Tom#234 Jakarta Web Service SQL Access Error Datenbankprogrammierung 7
Kirby.exe Error bei Trigger Datenbankprogrammierung 5
D Hibernate Error: NoSuchMethodError Datenbankprogrammierung 4
thet1983 MySQL Error Code 1111: Invalid use of group function Datenbankprogrammierung 2
M MySQL Error in SQL syntax Datenbankprogrammierung 10
F Java SQLite Error Datenbankprogrammierung 19
dat_vin JavaFX Datenbankverbindung über JPA und MySQL Error Datenbankprogrammierung 0
L Conversion-Error bei JDBC Date Literals Datenbankprogrammierung 3
F Java SQL Syntax Error erst nach mehrmaligen Aufrufen Datenbankprogrammierung 3
H SQLite SQLExeption Domain error Datenbankprogrammierung 2
B Error: ORA-00933: SQL command not properly ended Datenbankprogrammierung 5
D Error 1452: Cannot add or update a child row: a foreign key constraint fails Datenbankprogrammierung 15
Cypha JPA Syntax error - falscher Aufbau? Datenbankprogrammierung 3
D SQL Skript "ignore this error" Datenbankprogrammierung 8
B My-SQL Abfrage - Out Of Memory Error Datenbankprogrammierung 13
GianaSisters MySQL Datenbank Select error Datenbankprogrammierung 5
P [Hibernate] SQL Syntax-Error Datenbankprogrammierung 2
D mysql - out of memory error Datenbankprogrammierung 4
X von myISAM auf MEMORY! ERROR 1114: Table full Datenbankprogrammierung 13
N SQL Query Browser Error Datenbankprogrammierung 6
E try Error Datenbankprogrammierung 2
A Socket write error Datenbankprogrammierung 2
L You have an error in your sql syntax Datenbankprogrammierung 4
D Bean: server internal error Datenbankprogrammierung 5
@ HSQLDB: socket creation error Datenbankprogrammierung 6
C Error in my_thread_global_end() - FehlerMeldung MySql? Datenbankprogrammierung 2
foobar ISAM error: too many files open Datenbankprogrammierung 5
E ERROR: argument of JOIN/ON must be type boolean? Datenbankprogrammierung 2
K Connection error Datenbankprogrammierung 18
R Function Sequence Error - Warum? Datenbankprogrammierung 2
Zrebna Probleme bei Überführung von SQL-Code in eine HQL-Abfrage Datenbankprogrammierung 3
M SQL , CSV Verbindung : Zu Umfangreicher Code durch Unwissenheit Datenbankprogrammierung 21
B Wie kopieren ich eine Spalte von einer Tabelle in eine andere Tabelle SQLite durch java code? Datenbankprogrammierung 26
Dimax MySQL LOAD DATA INFILE -id aus dem Code und Rest aus dem File. Datenbankprogrammierung 5
DaCrazyJavaExpert Derby/JavaDB Unfindbarer Fehler im Datenbank-Code Datenbankprogrammierung 87
B MySQL LogIn Daten im Code verstecken Datenbankprogrammierung 3
F SQL Datenbank an Java Code anbinden Datenbankprogrammierung 5
P MySQL INSERT / UPDATE MySQL - perStoredProcedure oder direkt im Code Datenbankprogrammierung 3
ruutaiokwu code-formatter für t-sql... Datenbankprogrammierung 12
B H2 Database Beispiel Source Code Datenbankprogrammierung 8
M sql-code für suche in tabelle nach höchster transaktionsnr Datenbankprogrammierung 12
B SQL-Code Beautifier Datenbankprogrammierung 2
J mal wieder passwort im code. Datenbankprogrammierung 6

Ähnliche Java Themen

Neue Themen


Oben