Мой запрос в Jasper получил данные CLOB, но я не могу отобразить его в своем отчете, я даже попробовал некоторое решение, которое я нашел на этом форуме.Показать CLOB в Jasper
Оба они не работали:
new BufferedReader(new InputStreamReader($F{clob_data}.getAsciiStream())).readLine()
$F{clob_data}.getSubString(1l, (new Long($F{clob_data}.length())).intValue())
даже отлаживать без ошибок, после того, как запустить его в веб-приложении, он будет показывать:
error=net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :
Source text : ...
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to oracle.sql.CLOB
CLOB поле в моем докладе:
<field name="clob_data" class="oracle.sql.CLOB"/>
И вот как я показываю свое поле CLOB:
<textFieldExpression class="java.lang.String"><![CDATA[$F{clob_data}.getSubString(1l, (new Long($F{clob_data}.length())).intValue())]]></textFieldExpression>
<textFieldExpression class="java.lang.String"><![CDATA[new BufferedReader(new InputStreamReader($F{clob_data}.getAsciiStream())).readLine()]]></textFieldExpression>
Там нет textFieldExpression for class="oracle.sql.CLOB"
Любой простой способ справиться с этим?
Update: Моя проблема не будет, как этот парень, до сих пор нет решения:
http://iswwwup.com/t/1b800f433463/how-jasperreports-display-clob-field-with-html-tags.html
Кажется, что jasperreports имеет проблемы с преобразованием строки _from_ в CLOB, а не наоборот. Возможно, у вас проблемы с запросом или настройкой базы данных? –
Нет. Мой запрос работал нормально. – ggDeGreat