[UPDATE]mit PreparedStatement und setBlob gehts problemlos [/UPDATE]
Ich veruche seit einigen tagen Daten in ein blob-feld einer MySQL Datenbank zu schreiben.
Das auslesen klappt Problemlos nur das reinschreiben will einfach nicht hinhaun
Ich hab vor einiger zeit das selbe schon mal unter JAVA/JDBC/Oracle8.0 gemacht da gings so (siehe unten) problemlos
Kennt jemand das Problem? (oder vielleicht sogar ne lösung dafür)
verwendete versionen:
Java: SE 1.4.2
MySQL: 4.1.7
JDBC-Driver(für mysql): 3.0.16
folgender code wird/soll fürs reinschreiben verwendet werden:
Code
public void updateAddress(int id, String newaddress){
try{
String updateaddress = "UPDATE Vermietung SET Rechnung = Rechnung WHERE Auftragsnummer ="+id;
dbcon.setAutoCommit (false);
update(updateaddress);
ResultSet blobresult = select("SELECT * FROM Vermietung WHERE Auftragsnummer="+id);
blobresult.next();
fillBlob(blobresult.getBlob(4),newaddress);
dbcon.commit();
dbcon.setAutoCommit(true);
}catch (SQLException sqle){
System.out.println("SQL-Fehler!! "+sqle.getMessage());
}
}
public void fillBlob (Blob blob, String newfilling) {
OutputStream output = null;
try{
output = blob.setBinaryStream(1);
}catch (SQLException sqle){
System.out.println(sqle.getMessage());
}
System.out.println("Output: ['+output.toString()+']");
if (output != null){
try{
output.write(newfilling.getBytes());
System.out.println(newfilling);
System.out.println("Output: ['+output.toString()+']");
output.close();
}catch (IOException ioe){
System.out.println(ioe.getMessage());
}
}
else{
System.out.println("blubb");
}
}
Alles anzeigen