У меня есть несколько файлов, хранящихся в столбце больших двоичных объектов базы данных в Oracle 9.
Я хотел бы, чтобы эти файлы хранились в файловой системе.
Это должно быть довольно легко, но я не нахожу подходящего фрагмента.
Как я могу сделать это в java?
PreparedStatement ptmst = ...
ResutlSet rs = pstmt.executeQuery();
rs.getBlob();
// mistery
FileOutputStream out = new FileOutputStream();
out.write(); // etc et c
Я знаю, что это должно быть что-то вроде этого... чего я не знаю, так это того, что комментируется как тайна
Спасибо
ИЗМЕНИТЬ
Наконец-то я получил это из вопроса Дэвида.
Это моя ленивая реализация:
PreparedStatement pstmt = connection.prepareStatement("select BINARY from MYTABLE");
ResultSet rs = pstmt.executeQuery();
while( rs.next() ) {
Blob blob = rs.getBlob("BINARY");
System.out.println("Read "+ blob.length() + " bytes ");
byte [] array = blob.getBytes( 1, ( int ) blob.length() );
File file = File.createTempFile("something-", ".binary", new File("."));
FileOutputStream out = new FileOutputStream( file );
out.write( array );
out.close();
}