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