CREATE TABLE txjblob
(
x NUMBER(5) NOT NULL,
b BLOB DEFAULT EMPTY_BLOB() NOT NULL
)
插入:
stmt.executeUpdate("insert into txjblob values(1,EMPTY_BLOB())");
ResultSet rs = stmt.executeQuery("SELECT b FROM fff WHERE x=1 FOR UPDATE NOWAIT");
FileInputStream fin = new FileInputStream("c:chart.gif");
byte[] blobBuf = new byte[(int)fin.available()];
fin.read(blobBuf);
fin.close();
if(rs.next()) {
System.out.println(blobBuf.length);
BLOB blob = (oracle.sql.BLOB)rs.getBlob(1);
OutputStream out = blob.getBinaryOutputStream();
out.write(blobBuf);
out.close();
conn.commit();
}
更新:
stmt.executeUpdate("UPDATE txjblob SET b=EMPTY_BLOB() WHERE x=1");
ResultSet rs = stmt.executeQuery("SELECT b FROM fff WHERE x=1 FOR UPDATE NOWAIT");
FileInputStream fin = new FileInputStream("c:chart.gif");
byte[] blobBuf = new byte[(int)fin.available()];
fin.read(blobBuf);
fin.close();
if(rs.next()) {
System.out.println(blobBuf.length);
BLOB blob = (oracle.sql.BLOB)rs.getBlob(1);
OutputStream out = blob.getBinaryOutputStream();
out.write(blobBuf);
out.close();
conn.commit();
}
删除:
stmt.executeUpdate("DELETE txjblob WHERE x=1");
讀取:
ResultSet rs = stmt.executeQuery("select b from fff where x=1");
if(rs.next()){
BLOB blob = (BLOB)rs.getBlob(1);
InputStream is = blob.getBinaryStream();
// InputStream is = rs.getBinaryStream(1);
FileOutputStream os = new FileOutputStream("c:1.gif");
int b;
byte[] buffer = new byte[1024];
while( (b=is.read(buffer)) != -1){
os.write(buffer,0,b);
}
is.close();
os.close();
}