Ошибка управления вводом на сервере Jasperreports - PullRequest
0 голосов
/ 12 сентября 2018

Проблема:

При создании элемента управления вводом с одним запросом выбора, если мы включаем любой идентификатор RAW (например, GUID) в значение или видимое поле, сервер выдает исключение времени выполнения:

2018-09-11 14:25:50,813 ERROR GenericExceptionMapper,http-nio-8080-exec-1:51 - Unexpected error occurs
java.lang.IllegalStateException: Processor of type com.jaspersoft.jasperserver.war.cascade.handlers.converters.DataConverter for class [B not configured

Подробнее

Версия сервера Jasperreports: 6.6.0

Как воспроизвести: Загрузите любой пример отчета и отредактируйте этот отчет. Добавьте элемент управления вводом в этот отчет, выбрав Опция одиночного выбора . Заполните обязательное поле и на Определите страницу запроса добавьте следующий запрос

select sys_guid() as ID from dual

Затем на странице 1011 * Установка значений параметров введите ID в качестве столбца значений и ID в качестве видимых столбцов. Отправьте и сохраните элемент управления вводом и отчет. Когда вы выполняете этот отчет, Jasperreports Server выдает ошибку выше.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 13 сентября 2018

Ошибка вызвана тем, что значения RAW преобразуются в байты [] через JDBC, а входной управляющий код сервера JasperReports не может обрабатывать байтовые массивы.

Решение состоит в том, чтобы изменить запрос для преобразования значения RAWна значение VARCHAR / String через RAWTOHEX

select RAWTOHEX(sys_guid()) as ID from dual
...