Встраивание отчетов Crystal Reports в веб-приложения с помощью приложения Rational Application Developer, часть 1. Внедрение отчетов Crystal Reports в веб-приложения с помощью подключений JDBC

Данная статья предназначена для разработчиков, которым необходимо внедрить отчеты Crystal Reports в свои веб-приложения для удовлетворения потребностей в системе отчетности. Это первая часть в серии из пяти статей, которая должна дать практические навыки по внедрению отчетов Crystal Reports в веб-приложения с помощью приложения IBM Rational Application Developer (RAD). Более конкретно, в данной статье объясняется, как внедрить отчеты Crystal Reports в веб-приложения с помощью технологии Java Database Connectivity (JDBC), как во время проектирования приложений, так и во время их выполнения.

Образец сценария разработки
Начальная настройка: конфигурирование файла CRDB_JavaServer.ini.
Создание нового веб-проекта с помощью технологии JavaServer Pages (JSP).
Внедрение отчетов Crystal Reports в страницу JSP и ее выполнение на сервере.

В рассматриваемом примере используется приложение IBM Rational Application Developer v6.0.1.1 (далее Application Developer) с установленными по умолчанию функциями приложения Crystal v10. В нем также используется приложение IBM® DB2® Universal Database v8.1, содержащее базу данных SAMPLE, относительно которой будут создаваться отчеты. Дополнительную информацию о сценариях использования отчетов Crystal Reports можно найти в справке приложения Application Developer (Help > HelpContents > DevelopingWebApplications > CrystalReports > CreatingReports). Пробные версии данных продуктов можно загрузить в подразделе IBMtrialsoftware раздела Resources.
Шаг 1. Конфигурирование файла CRDB_JavaServer.ini

Для конфигурирования данного файла выполните следующие шаги.

1. В рабочей области Application Developer перейдите к окну обзора данных (Window > OpenPerspective > Data).

2. Щелкните правой кнопкой мыши в области Database Explorer и выберите NewConnection.

3. Выберите Choose a Database Manager and JDBC Driver, как показано на рис. 1.

Рис. 1. Диалоговое окно New Database Connection

 

  1. Щелкните Next.
  2. В диалоговом окне New Database Connection введите значения, показанные на рис. 2, затем щелкните Test Connection.
Рис. 2. Диалоговое окно указания параметров соединения

 

  1. Если проверка соединения завершилась успешно, щелкните OK (рис. 3).
Рис. 3. Успешное завершение проверки соединения

 

При возникновении проблем с подключением JDBC обратитесь к документации по своей базе данных. Кроме того, можно воспользоваться ссылкой DB2 Infocenter в разделе [link]. Информация о том, как проверить, можно ли подключаться к базе данных без помощи окна обзора данных (выполнив программу Java для проверки подключения JDBC из командной строки) находится в разделе JDBC Test . По ссылке JDBCTest можно найти справку по устранению неполадок с подключением JDBC для большинства поставщиков баз данных.

Кроме того, перейдите в раздел Business Objects’ Supported Platforms, чтобы проверить, поддерживается ли используемая платформа разработки (то есть база данных, операционная система и т.д.) компанией Business Objects. На странице по ссылке Application Developer support page в разделе Resources section напоминается, что отчетами Crystal Reports компании Business Objects не поддерживаются платформы IBM® z/OS и iSeries.
1. Оставив открытым окно New Database Connection Wizard, откройте теперь файл CRDB_JavaServer.ini по следующему пути:
C:\Program Files\Common Files\Crystal Decisions\2.5\bin\CRDB_JavaServer.ini

Измените следующие значения в файле CRDB_JavaServer.ini, как показано на рис.4:

  • PATH: Укажите каталог, содержащий файл java.exe (
  • обычно в установке приложения jdk1.4.2)(например, “c:\program files\IBM\Rational\SDP\6.0\runtimes\base_v6\java\bin”)
  • CLASSPATH: Скопируйте значение параметра ClassLocation из окна мастера New Database Connection и припишите его к существующим значениям параметра CLASSPATH. Если путь содержит кавычки (например, “Program Files”), рекомендуется заключить в кавычки путь к каждому файлу .jar (“c:\program files\IBM\SQLLIB\java\db2jcc.jar”).
  • IORFileLocation: Укажите полный путь для каждой временной папки в своей локальной файловой системе (
  • необходимо иметь полномочия на чтение и запись для них).
  • JDBCURL: Скопируйте значение параметра Connection URL из окна мастера New Database Connection и замените существующее значение.
  • JDBCUserName: Введите db2admin (или свое имя пользователя базы данных). Позже его можно будет изменить в мастере подключения jdbc(jndi) Crystal Report (Рис. 12).
  • JDBCDriverName: Скопируйте значение параметра JDBC Driver class из окна мастера New Database Connection и замените существующее значение.
Рис. 4. Файл CRDBJavaServer.ini, содержащий настройки подключения JDBC

 

Примечание. Использование редактора Notepad предпочтительнее любого другого редактора текстовых файлов, так как другие известные редакторы вставляют некоторые невидимые символы форматирования, которые могут приводить к ошибкам, как показано на рис. 11 ниже, даже если для соответствующих параметров указаны правильные значения.

  1. Сохраните файл CRDB_JavaSever.ini и нажмите Cancel в окне Database Connection Wizard.

Шаг 2. Создание нового веб-проекта со страницей JSP, содержащей отчет CrystalReport

Для создания нового веб-проекта выполните следующие шаги.

  1. В своей рабочей области Application Developer создайте новый динамический веб-проект, выбрав File > New > DynamicWebProject.
    Выберите настройки, показанные на рис. 5.
Рис. 5: Диалоговое окно New Dynamic Web Project

 

Примечание. Для данного примера необходимо выбрать для параметра Servlet version значение 2.3 и указать WebSphere Application Server v5.1 как значение для Target Server, как показано на рис. 5.

  1. Щелкните Next, а затем выберите CrystalReportsfeatures в диалоговом окне Features , как показано на рис. 6.
Рис. 6: Диалоговоеокно Web Project features

 

  1. Щелкните Finish.
  2. В своем веб-проекте щелкните правой кнопкой мыши папку WebContent и выберите New > Crystal Report.
  3. Выберите настройки, показанные на рис. 7 в окне New Crystal Report Wizard.
Рис. 7. Окно New Crystal Report Wizard
  1. Щелкните Finish.
  2. В диалоговом окне Crystal Reports Gallery выберите параметр Report Wizard (рис. .
Рис. 8. Диалоговое окно Crystal Reports Gallery

 

  1. Щелкните OK.
  2. В диалоговом окне Standard Report Creation Wizard щелкните Create New Connection > JDBC(JNDI) (рис. 9).
Рис. 9. Окно Standard Report Creation Wizard

 

  1. При правильной конфигурации настроек в файле CRDB_JavaServer.ini появится следующее диалоговое окно настроек JDBC(JNDI) (рис. 10). Поля ConnectionURL и DatabaseClassname уже должны быть заполнены правильными значениями из файла CRDB_JavaServer.ini file.
  2. Щелкните Next.
Рис. 10. Диалоговое окно настроек JDBC(JNDI)

 

Если вместо окна настроек JDBC(JNDI) появляется следующее сообщение об ошибке (рис. 11), обратитесь к разделу [link].

Рис. 11. Диалоговое окно настроек JDBC(JNDI) с отображаемым сообщением об ошибке

 

Более подробное руководство по настройке файла CRDB_JavaServer.ini можно найти по ссылке CRDB_JavaServer.ini settings guide.

  1. Введите свои значения UserID и Password для DB2 в диалоговом окне Connection information (рис. 12).
Рис. 12. Диалоговое окно Connection Information

 

Примечание. В данное диалоговое окно автоматически вводится имя пользователя, введенное в файле CRDB_JavaServer.ini на рис. 4. При необходимости его можно изменить здесь на любое другое имя пользователя базы данных.

  1. Щелкните Finish.
  2. В диалоговом окне Data, показанном на рис.13, из доступных в своей логической структуре таблиц выберите таблицу, для которой необходимо создать отчет. В данном примере сценария была выбрана таблица Department .
Рис. 13. Диалоговое окно Data

 

  1. Щелкните Next.
  2. В диалоговом окне Fields (рис.14) выберите из таблицы поля, которые необходимо отобразить в отчете.
Рис. 14. Диалоговое окно Fields

 

  1. Щелкните Next.
  2. В диалоговом окне Grouping (рис. 15) выберите необходимые параметры группирования (в данном примере примите значения по умолчанию).
Рис. 15. Диалоговое окно Grouping

 

  1. Щелкните Next.
  2. В диалоговом окне Record Selection (рис. 16) выберите необходимые параметры выбора для записи (в данном примере примите значения по умолчанию).
Рис. 16. Диалоговое окно Record Selection

 

  1. Щелкните Next.
  2. В диалоговом окне Report Style (рис. 17) выберите необходимые параметры стиля отчета (в данном примере примите значения по умолчанию).
Рис. 17. Диалоговое окно Report Style

 

  1. Щелкните Finish и сохраните изменения в файле отчета (выберите File > Save).

Шаг 3. Внедрение отчета CrystalReport в страницу JSP и ее выполнение на сервере

Для внедрения отчета Crystal Report выполните следующие шаги.

  1. Создайте новую страницу JSP в своем веб-проекте.
  2. Внедрите созданный отчет Crystal Report в страницу JSP, перетащив компонент Crystal Report Page Viewer из области Palette в веб-перспективу, как показано на рис. 18.
Рис 18: Перетаскивание компонента ReportPageViewer на страницу JSP

 

  1. Откроется диалоговое окно New Crystal Report Page Viewer (рис. 19).
Рис. 19. Диалоговое окно New Crystal Report Page Viewer

 

  1. Щелкните Browse и выберите файл .rpt (файл создаваемого отчета) в папке WebContent своего веб-проекта.
  2. Щелкните Finish.
  3. Сохраните изменения в странице JSP (File > Save).
  4. Чтобы выполнить эту страницу на сервере IBM® WebSphere® Test Environment v5.1, щелкните правой кнопкой мыши страницу JSP в области Project Explorer и выберите Run > Run on Server для просмотра этой страницы JSP, содержащей отчет Crystal Report.

На рис.20 показан отчет в обозревателе.

Рис. 20. Просмотр в обозревателе страницы JSP, содержащей отчет CrystalReport

 

Во время выполнения данного процесса могут происходить некоторые исключения. В следующих пунктах описывается, как обрабатывать эти исключения.

  • Если при выполнении этого процесса получено сообщение об ошибке выполнения драйвера JDBC (рис. 21), необходимо выполнить следующие действия.
Рис. 21. Ошибка выполнения драйвера JDBC

 

Скопируйте файлы .jar универсального драйвера JDBC для DB2 ( db2jcc.jar, db2jcc_license_cu.jar и db2jcc_license_cisuz.jar) из каталога < Каталог-установки- DB 2 >\SQLLIB\java в свой каталог < Каталог-установки WebSphere – Application – Serverv 51 >\lib\ext. (Примечание. Если используется сервер WebSphere Test Environment v5.1, а не автономный сервер WebSphere Application Server v5.1, < Каталог установки WebSphere – Application – Serverv 51 > = < Каталог установки RAD >\runtimes\base_v51.) После копирования файлов .jar перезапустите сервер, щелкнув правой кнопкой мыши его обозначение в области Servers и выбрав Restart > Start.

  • Если открылась страница Database Logon (рис. 22), введите свое имя пользователя DB2 и пароль и щелкните OK
Рис. 22. Страница Database Login

 

Если в области Console появилось следующее сообщение об ошибке, необходимую информацию можно найти по ссылке How to resolve log4j errors.

[2/14/06 17:38:36:435 EST] 00000031 SystemErr

R log4j:ERROR setFile(null,true) call failed.

[2/14/06 17:38:36:435 EST] 00000031 SystemErr

R java.io.FileNotFoundException: C:\Documents and Settings\Administrator\crystal\jpe.log (The
system cannot find the path specified)

at java.io.FileOutputStream.openAppend(Native Method)

at java.io.FileOutputStream.init(FileOutputStream.java:199)

at java.io.FileOutputStream.init(FileOutputStream.java:124)

at org.apache.log4j.FileAppender.setFile(FileAppender.java:272)

at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:156)

Что дальше…

На этом завершается первая часть серии из 5 статей о внедрении отчетов Crystal Reports в веб-приложения. В данной статье описано, как внедрять отчеты Crystal Reports в веб-приложения. Более конкретно, было рассказано, как внедрять отчеты Crystal Reports с использованием подключений JDBC и во время проектирования, и во время выполнения. Следующая статья (часть 2) посвящена внедрению отчетов Crystal Reports с использованием подключений JDBC во время проектирования и автоматическим переключением на подключения JNDI во время выполнения. Использование подключений JNDI во время выполнения позволяет получить такие преимущества, как организация пула подключений и дополнительные функции приложения, обеспечиваемые сервером.

Источник: http://www.interface.ru

Comments are closed.