如题

解决方案 »

  1.   

    同上,再找找lob操作的例子就行了.
      

  2.   

    能不能压缩???  java 开发
      

  3.   

    可以用bfile来只存文件的路径,把文件放在硬盘上. 或者用clob,blob.dbms_lob来操作. 
    先压缩再保存?!
      

  4.   

    根据实际情况选择用bfile或blob,clob等,我们是用 clob保存在数据库中的,不过数据量不是很大
      

  5.   

    用jdbc处理lob                 首先是Getting BLOB and CLOB Locators from a Result Set
                     // Select LOB locator into standard result set.
                     ResultSet rs =stmt.executeQuery ("SELECT blob_col, clob_col
                     FROM lob_table");
                     while (rs.next())
                     {// Get LOB locators into Java wrapper classes.
                     oracle.jdbc2.Blob blob = (oracle.jdbc2.Blob)rs.getObject(1);
                     oracle.jdbc2.Clob clob = (oracle.jdbc2.Clob)rs.getObject(2);
                     [...process...]
                     }
                     然后是Read BLOB data from BLOB locator.
                     InputStream byte_stream = my_blob.getBinaryStream();
                     byte [] byte_array = new byte [10];
                     int bytes_read = byte_stream.read(byte_array);
                     和Writing BLOB Data
                     java.io.OutputStream outstream;
                     // read data into a byte array
                     byte[] data = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
                     // write the array of binary data to a BLOB
                     outstream = ((BLOB)my_blob).getBinaryOutputStream();
                     outstream.write(data);
                     还有Passing a BLOB Locator to a Prepared Statement
                     OraclePreparedStatement ops =
                     (OraclePreparedStatement)conn.prepareStatement
                     "INSERT INTO blob_table VALUES(?)");
                     ops.setBLOB(1, my_blob);
                     ops.execute();
                     最后应该注意:
                     insert的时候一定要用empty_blob()初始化
                     stmt.execute ("insert into my_blob_table values ('row1',
                     empty_blob()");