0

我有以下问题。在 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 行我得到上述错误。

如果我将 :blobExcel 替换为 empty_blob() 那么它运行没有问题。当我更换它时它也会运行

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

Blob blobExcel=null;

任何想法?

在此先感谢,Sz。

4

0 回答 0