Ниже приведены шаги для вызова хранимой процедуры для создания отчета с использованием iReport 4.5/4.5.1 JasperReport.
В дизайнере iReport перейдите в «Инструменты» -> «Параметры» -> и на вкладке «Путь к классам» нажмите «Добавить JAR» и добавьте файл OJDBC14.jar в путь к классам.
Перейдите на вкладку «Исполнитель запросов» и установите следующий язык: plsql Query Executer Factory: com.jaspersoft.jrx.query.PlSqlQueryExecuterFactory Класс поставщика полей: com.jaspersoft.ireport.designer.data.fieldsproviders.SQLFieldsProvider
Выберите соединение JDBC с базой данных
Выберите Oracle в качестве драйвера JDBC, как показано на изображении ниже, и проверьте соединение, нажав кнопку «Тест» (убедитесь, что вы установили флажок «Сохранить пароль»).
Создайте пустой отчет, указав имя отчета, и сохраните его.
Откройте отчет в дизайнере, щелкните правой кнопкой мыши имя отчета и выберите «Редактировать запрос».
Установите язык запросов на plsql
Вызовите процедуру с помощью in { } a. {call PUBLISHER_AND_BOOKS(&P(P_PUBLISHER_ID), &P(ORACLE_REF_CURSOR))} Примечание. P_PUBLISHER_ID имеет тип строки, а ORACLE_REF_CURSOR имеет тип настраиваемого параметра типа данных java.sql.ResultSet. Вы можете создать его, нажав кнопку «Новый параметр». Если у вас больше входных параметров, используйте «,» в качестве разделителя, как показано в приведенном выше примере.
Нажмите «ОК» и приступайте к оформлению отчета.
В окне дизайнера щелкните правой кнопкой мыши «Поля» и добавьте, нажмите «Добавить поля» и убедитесь, что все имена полей совпадают с именами столбцов в вашей хранимой процедуре.
Теперь щелкните правой кнопкой мыши параметры и добавьте параметры, соответствующие хранимой процедуре. ПРИМЕЧАНИЕ. Убедитесь, что вы сняли флажок «Использовать для подсказки» в свойстве вашего выходного параметра, в нашем примере его ORACLE_REF_CURSOR является выходным параметром.
Перетащите поля в полосу сведений об отчете, как показано ниже.
Нажмите предварительный просмотр, чтобы запустить отчет, вам будет предложено ввести параметр ввода
Все шаги подробно описаны с изображениями и доступны по ссылке ниже, надеюсь, это поможет...
Во-первых, отредактируйте свой ответ, а затем добавьте в свой ответ достаточно информации, которой нет ни у кого есть чтобы щелкнуть ссылку, чтобы найти решение.
- person; 17.04.2012