1

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が発生します。

4

1 に答える 1

0

編集:いいえ、それはできません。ごめん。

元の[過度に楽観的な]回答
アドホックエディターは画像(または他のバイナリデータ型)を処理できません。それがもっと優雅にそれらを無視するならそれは素晴らしいでしょう...しかしあなたがそこでそれらを使うことができないのは当然です。

ただし、フィールドをある種のバイナリ(画像、バイトの配列、またはオブジェクトなど)として定義し、iReportで使用できるようにする必要があります。

于 2012-06-14T21:52:10.853 に答える