kann das Bild nicht als Blob in sqlite speichern

8

Ich verwende SQLite und kann ein Bild nicht in der Datenbank speichern. Das ist mein Code:

%Vor%

Dies ist der Fehler, den ich bekomme:

%Vor%

Ich verwende das folgende jar: sqlitejdbc-v056.jar.

Irgendwelche Ideen? Danke

    
Mara 22.05.2011, 19:19
quelle

5 Antworten

14

Die SQLite-JDBC-Implementierung, die Sie verwenden, implementiert nicht setBinaryStream (daher die genaue Fehlermeldung nicht von SQLite JDBC-Treiber implementiert ).

Sie müssen stattdessen die Methode setBytes verwenden.

    
Femi 22.05.2011, 19:42
quelle
9

Sie können ein Bild sehr einfach in die Datenbank einfügen, sagen Sie SQLite siehe meinen folgenden Code. Ich habe eine Eigenschaftendatei für DBase Connection verwendet, die Sie überall einfügen können.

%Vor%

Die Logik dahinter ist das Konvertieren der Bilder in Bytearray und das anschließende Speichern in der Datenbank. SQLite akzeptiert das Byte-Array für den Image-Typ BLOB

und hier ist meine Datei dbconfig.properties

%Vor%

Versuchen Sie, diesen Code zu verwenden.

    
Ronald 24.06.2011 21:10
quelle
2

Um es mit Hibernate zu verwenden, müssen Sie einen richtigen UserType verwenden:

%Vor%

Dann kommentieren Sie den Typ und beziehen sich auf diesen Benutzertyp:

%Vor%

Wie Sie sehen können, komprimiere ich Daten vor dem Speichern und Dekomprimieren vor dem Abruf. Sehen Sie sich diese Site an.

    
Daniel Jurado 13.08.2012 23:33
quelle
1

Haben Sie hat einen Patch an Xerial gesendet, der die Implementierung von setBinaryStream enthält.

Die Verwendung von setBytes war für mich keine Option, da ich Hibernate für den Zugriff auf die Datenbank verwende.

%Vor%     
stringaling 21.10.2011 23:03
quelle
0

Es scheint, dass Sie nicht an alle vier Parameter in Ihrer Aussage gebunden sind.

    
Ted Hopp 22.05.2011 19:22
quelle

Tags und Links