我有以下问题。在 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。