D
Dan (Gast)
Gast
Hallo und guten Tag,
seit einiger Zeit versuche ich die Blob-Spalte einer Oracle-Tabelle via JDBC zu füllen. Leider ohne erfolg. Basis ist ein InputStream.
Problem ist, dass der InputStream von setBlob() nicht angenommen wird.
Ich arbeite mit PreparedStatements
Fehlermeldung ist folgende:
Ein weiterer Weg war es, erst das Blob-Objekt (EMPTY_BLOB()) via SELECT zu holen, zu Bearbeiten und wieder einzuschreiben, aber wie kann ich ein java.sql.Blob-Objekt beareiten?
Vielen Dank für eure Weiterhilfe..
..Dan
seit einiger Zeit versuche ich die Blob-Spalte einer Oracle-Tabelle via JDBC zu füllen. Leider ohne erfolg. Basis ist ein InputStream.
Problem ist, dass der InputStream von setBlob() nicht angenommen wird.
Code:
DROP TABLE TAB;
CREATE TABLE TAB(
ID NUMBER(9) NOT NULL,
DATA BLOB,
);
Ich arbeite mit PreparedStatements
Code:
StingBuffer sql = new StringBuffer();
sql = new StringBuffer();
sql.append(" UPDATE ");
sql.append(" webuser.kwe_user ");
sql.append(" SET ");
sql.append("data = ?");//TODO: Input!
sql.append(" WHERE ");
sql.append("id= ? ");
PreparedStatement pStmt = ....getConnection().prepareStatement(sql.toString())
pStmt.setInt(2,1);
pStmt.[color=blue]setBlob[/color](1,inputStream);//InputStream ist vorhanden
pStmt.executeUpdate();
Fehlermeldung ist folgende:
Code:
java.lang.AbstractMethodError: org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.setBlob(ILjava/io/InputStream;)V
at init.project.auskunft.database.DBUser.updateBLOB(DBUser.java:303)
Ein weiterer Weg war es, erst das Blob-Objekt (EMPTY_BLOB()) via SELECT zu holen, zu Bearbeiten und wieder einzuschreiben, aber wie kann ich ein java.sql.Blob-Objekt beareiten?
Vielen Dank für eure Weiterhilfe..
..Dan