You can use a BLOB column to serialize an object into a database. There is a problem serializing object > 4K into the db, but you can get round that in Oracle. You have to use the Oracle JNDI driver, and use class oracle.sql.BLOB. First INSERT the a new row using the EMPTY_BLOB() function e.g. INSERT INTO blob_table VALUES ( ..., EMPTY_BLOB(), ..) Then do a SELECT for the BLOB column on that row. Use the ResultSet.getBlob() function to get an oracle.sql.BLOB object, serialze the object to a byte array, use the BLOB.setBytes() function so set the contents of the BLOB. Then you can UPDATE the previously created row, with your BLOB containing the serialized object Hope this file can answer your question
我的问题是怎么将Blob类型的对象序列化,还有setBytes()有两个方法一个是: public int setBytes(long pos,byte[] bytes,int offset,int len)另一个是: public int setBytes(long pos,byte[] bytes) 我没序列化对象,在调用这两个方法时出现异常: java.sql.SQLException: 不支持的特性 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269) at oracle.jdbc.dbaccess.DBError.throwUnsupportedFeatureSqlException(DBError.java:689) at oracle.sql.BLOB.setBytes(BLOB.java:954) 能否告诉我怎么序列化Blob对象成字节数组和使用setBytes()!! 非常感谢上面这个朋友的大力支持,花费您宝贵的休息时间,我再次表示衷心的感谢