可以用BLOB进行存储,取出Blob后,从Blob中能得到一个InputStream将他原样保存为一个Local System的文件就行了,当然要保证存到Blob中的时候也是原样。另外,Oracle还提供一个叫Intermedia的包,他包括用来保存多媒体数据的数据类型和一些操作这些多媒体数据的功能方法。再详细我就不清楚了,自己去查一下吧。

解决方案 »

  1.   

    http://www.csdn.net/expert/topic/83/83096.xml?temp=.4519159
      

  2.   

    为何我用
    java.sql.Blob blob = (java.sql.Blob)rs.getObject(1);就会出现:
    java.lang.ClassCastException: oracle.sql.STRUCT
            void ImgDemo.doPropertiesSave()
            void ImgDemo.main(java.lang.String[])而实际上得到的类为STRUCT型,如何写成Image文件?
      

  3.   

    不能取得blob就用getBytes或者getBinaryStream
      

  4.   

    tehcon老兄,不行啊,java 认为是oracle.sql.STRUCT类型,
    用getBinaryStream就出现java.sql.SQLException: 无效的列类型
            void oracle.jdbc.dbaccess.DBError.throwSqlException(java.lang.String, ja
    va.lang.String, int)
            void oracle.jdbc.dbaccess.DBError.throwSqlException(int, java.lang.Objec
    t)
            void oracle.jdbc.dbaccess.DBError.throwSqlException(int)
            java.io.InputStream oracle.jdbc.driver.OracleStatement.getBinaryStreamVa
    lue(boolean, int)
            java.io.InputStream oracle.jdbc.driver.OracleResultSetImpl.getBinaryStre
    am(int)