JasperRreportsServerでドメインを作成しました。バイナリデータを格納するテーブルがあります。ドメインで使用すると、次のエラーが発生します。
java.lang.IllegalArgumentException:javaTypeのgetObjectType:nullがnullを
返しました
スキーマをエクスポートしたところ、次のことがわかりました。
<field id="Id" type="java.lang.Integer" />
<field id="FileData" type="null" />
ご覧のとおり、typeフィールドではnullが使用されています。これをjava.io.InputStreamに変更しようとしました。これは、データソースに直接接続したときにマップされるタイプであり、同じエラーが発生しました。
java.lang.IllegalArgumentException:javaTypeのgetObjectType:
java.io.InputStreamが
com.jaspersoft.commons.dataset.expr.ObjectTypeMapper.getObjectType(ObjectTypeMapper.java:69)でnullを返しました
そのドメインを使用するレポートは、[バイナリ]列を削除するまで実行できません。iReportでドメインレポートを作成しようとすると、ドメインフィールドを取得できません。アドホックレポートツールを使用しようとすると、上記のエラーが発生します。
SQL Server 2005を使用していますが、データの種類は「画像」です。ビューで列をvarbinaryにキャストして、JasperReportsがそれを認識できるかどうかを確認しましたが、それでも同じエラーが発生します。
JasperReports Serverドメイン でバイナリデータ型を正常に使用した人はいますか?
更新: applicationContext-semanticLayer.xmlでBean「jdbcMetaConfiguration」を構成してバイナリ列をjava.io.InputStreamにマップしましたが、それでも同じエラーが発生します。XMLファイル「null」を「java;io.InputStream」に置き換えて表示すると、マッピングは機能しましたが、それでもIllegalArgumentExceptionが発生します。