使用sqlj将excel文件插入到oracle 11g blob字段中

时间:2017-08-13 14:23:04

标签: java oracle blob sqlj

我有以下问题。在oracle java中我创建了一个excel文件,然后我想将它存储在blob字段中。当我尝试插入表时,我得到一个java.lang.ClassCastException:

Error SQL: ORA-29532: llamada Java terminada por una excepción Java no resuelta: java.lang.ClassCastException
    29532. 00000 -  "Java call terminated by uncaught Java exception: %s"
    *Cause:    A Java exception or error was signaled and could not be
               resolved by the Java code.
    *Action:   Modify Java code, if this behavior is not intended.

用于将excel插入数据库的代码:

Workbook wb=null;
byte[] xlsInBytes=null;
ByteArrayOutputStream excelOutputStream=new ByteArrayOutputStream();
wb=new HSSFWorkbook();  
wb.write(excelOutputStream);
xlsInBytes=excelOutputStream.toByteArray();
Blob blobExcel=new  javax.sql.rowset.serial.SerialBlob(xlsInBytes); 
#sql {insert into MYTABLE(file_id,excelfile) 
    values(1,:blobExcel)};    

在#sql行,我收到上述错误。

如果我用empty_blob()替换:blobExcel,那么它运行没有问题。 它也在我替换

时运行
Blob blobExcel=new  javax.sql.rowset.serial.SerialBlob(xlsInBytes);

Blob blobExcel=null;

有什么想法吗?

提前致谢, SZ。

0 个答案:

没有答案