次の問題があります。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。