论坛首页 入门技术论坛

Hibernate中BLOB数据类型初始化.....

浏览 4479 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-11-20  
我在做BLOB数据赋值时出现以下情况:
我试了两咱方法:
第一种:
oracle.sql.BLOB blo = oracle.sql.BLOB.empty_lob();
OutputStream fos = blo.getBinaryOutputStream();

EXCEPTION INFO:

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.sql.BLOB.getDBAccess(BLOB.java:1237)
at oracle.sql.BLOB.getBinaryOutputStream(BLOB.java:419)
at org.test.Test.main(Test.java:130)
Exception in thread "main"

第二种:
oracle.sql.BLOB blo = (oracle.sql.BLOB)Hibernate.createBlob(new byte[1]);

EXCEPTION INFO:

java.lang.ClassCastException
at org.test.Test.main(Test.java:130)
Exception in thread "main"





以下是我的全部CODE:

public static void main(String[] args) throws IOException, Exception {
File file = new File("c://aa.txt");
FileInputStream is = new FileInputStream(file);

// oracle.sql.BLOB blo = oracle.sql.BLOB.empty_lob();

oracle.sql.BLOB blo = (oracle.sql.BLOB)Hibernate.createBlob(new byte[1]);

OutputStream fos = blo.getBinaryOutputStream();
byte[] buf = new byte[102400];
int len;
while ((len = is.read(buf))!= -1){

fos.write(buf,0,len);
}

is.close();
fos.close();
System.out.println(blo);

             }









论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics