ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
943
943
EMPFEHLEN
-
Hallo,
ich möchte einen verschlüsselten Text welcher in einem Byte Array liegt in eine MySql Datenbank schreiben und wieder auslesen.
Habe es jetzt mit so ziemlich jedem DatenTyp versucht der nur annähernd dazu geeignet wäre, leider will es einfach nicht funktionieren, bräuchte dringend hilfe.
con = DriverManager.getConnection("jdbc:mysql://localhost/db", "user", "pw");
PreparedStatement ps = con.prepareStatement("insert into blob(null,?,?");
ps.setBytes(1, ecBytes);
ps.setBytes(2, ecBytes);
ps.executeUpdate();
In dem ecBytes steht dann etwa so was drin wenn ich es mir als String ausgeben lasse.
ÄÏÐv‚e´Á|‚náL„
Und bei der Fehlermeldung steht so was:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'blob(null,'ÄÏÐv‚e´Á|‚náL„','ÄÏÐv‚e´Á|‚náL„'' at line 1
MfG
-
28.09.10 13:16 #2
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hallo und herzlich Willkommen bei tutorials.de,
Bitte fasse bei deinen nächsten Posts Codeteile in [ java] ... [/java]-Tags ein, so ist die Sache viel einfacher zu lesen.
Du hast mehrere Möglichkeiten, wie du Binärdaten in die Datenbank schreiben kannst. Eine Möglichkeit sind die Binary Large Objects (BLOBs), welche du anscheinend verwenden willst. Diese schreibst du mit der Methode setObject() in dein PreparedStatement, nicht mit der setBytes().
Eine andere, meiner Meinung nach flexiblere Lösung wäre die Konvertierung der Bytes mit Hilfe der Base64-Kodierung. Somit kannst du die Daten als "Text" (varchar) in der Datenbank speichern und leichter mit ihnen arbeiten. Beim auslesen kannst du diese dann wieder zurück verwandeln und daraus die Bytes gewinnen.
Infos: Base64 bei "Java ist auch eine Insel"
Gruß
BKGeändert von Bratkartoffel (28.09.10 um 13:21 Uhr) Grund: paar Ergänzungen
Über eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
Danke für deine Antwort, das nächste mal werd ich den Codeteil in die Tags setzen.
Mit setObject() hatte ich es auch schon versucht, hatte auch nicht geklappt.
Na ich werd mir mal die Lösung mit der Base64-Kodierung anschauen.
MfG
-
28.09.10 14:02 #4
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Über eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
Code java:
1 2 3
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'blob(null,_binary'\"w ŽGI‹{:/þÒA*',_binary'\"w ŽGI‹{:/þÒA*'' at line 1
Das gibt er als Fehler aus.
Hab jetzt die Connection geändert weil ich die falsche DB angegeben hatte.
Code java:1
con = DriverManager.getConnection("jdbc:mysql://localhost/blobtest?user=user&password=pw");
Geändert von hebel2 (28.09.10 um 14:34 Uhr)
-
Danke, geht jetzt hatte nen Fehler im SQL Befehl.
Ähnliche Themen
-
ZipFile-Attribut aus byte-Array (ohne schreiben ins FileSystem)
Von rex_05 im Forum JavaAntworten: 12Letzter Beitrag: 13.04.10, 18:39 -
byte Array in Datei speichern und wieder in byte Array einlesen
Von riseX im Forum JavaAntworten: 5Letzter Beitrag: 22.02.10, 12:05 -
Image in ein byte array schreiben
Von MCH im Forum JavaAntworten: 1Letzter Beitrag: 30.06.08, 07:08 -
Bild in ein Byte Array schreiben
Von sand13r im Forum JavaAntworten: 2Letzter Beitrag: 27.10.06, 08:22 -
Verzeichnis auslesen und in MySQL-Datenbank schreiben
Von ihop im Forum PHPAntworten: 8Letzter Beitrag: 19.04.06, 08:29





Zitieren


Login





