Java で、DOCX ドキュメントを読み取る簡単なプログラムを開発しました。次に、loadjava ツールを使用して、jar ライブラリを Oracle データベース 11g (Java 1.6 バージョン) にデプロイしようとしました。データベース側のすべてのクラスが「有効」です。
データベースで Java ストアド プロシージャを実行すると、例外が発生します。
org.apache.poi.POIXMLException: org.apache.poi.openxml4j.exceptions.InvalidFormatException: Can't read content types part !
at org.apache.poi.util.PackageHelper.open(PackageHelper.java:41)
at org.apache.poi.xwpf.usermodel.XWPFDocument.<init>(XWPFDocument.java:120)
at Docx.loadFromBlob(Docx:38)
Caused by: org.apache.poi.openxml4j.exceptions.InvalidFormatException: Can't read content types part !
at
org.apache.poi.openxml4j.opc.internal.ContentTypeManager.<init>(ContentTypeManager.java:107)
at org.apache.poi.openxml4j.opc.internal.ZipContentTypeManager.<init>(ZipContentTypeManager.java:56)
at
org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:167)
at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:662)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:269)
at
org.apache.poi.util.PackageHelper.open(PackageHelper.java:39)
クライアントのJavaで開くことができるので、Docxファイルは問題ありません。また、データベースの Java バージョンはクライアント側 (NetBeans) と同じです。
よろしくピーター