К какой бы базе данных мы не подключались, начинается все одинаково: нужно создать Data Source (Источник данных). Это можно сделать двумя способами:

  • перейти в окно Data Explorer (Проводник данных), щелкнуть правой кнопкой мыши по контейнеру Data Sources (Источники данных) и в контекстном меню выбрать New Data Source (Новый источник данных) — см. рис. 3.3.2-1

Рис. 3.3.2-1 Создание нового источника данных (Data Source) в отчете BIRT

  • воспользоваться меню Data | New Data Source.

Какой бы способ вы не выбрали, в любом случае откроется окно создания нового источника данных, аналогичное представленному на рис. 3.3.2-2.

Рис. 3.3.2.2 Выбор типа источника данных в отчете BIRT

В верхней части экрана вы можете сделать выбор:

  • Create from a data source from the following list (Создать из источника данных в следующем списке) — подразумевается, что вы с нуля создадите источник данных того типа, который будет выбран в списке ниже;

  • Create from a connection profile in the profile store (Создать из профиля соединения в хранилище профилей) — если вы выберете этот вариант, то перейдете в режим работы с хранилищем профилей (то есть сохраненных в файле источников данных). На следующем экране вы сможете создать файл хранилища профилей (profile store), в нем определить источник данных и этот источник данных в итоге выбрать, чтобы использовать в отчете. Вариант работы с хранилищем профилей может быть удобнее в ситуации, когда одну и ту же базу данных приходится использовать во многих отчетах и проектах BIRT. Один раз определив источник данных в файле хранилища, потом можно к нему просто подключаться, экономя время на создание. Кроме того, пользователям отчета не всегда можно дать права на базу данных, к которой обращается отчет. А вот запускать отчет на выполнение и просматривать его им нужно. В этой ситуации выходом станет сохранение логина и пароля к базе данных в шифрованном profile store, размещенном на сервере отчетов.

Но сейчас мы пойдем по более простому пути — создадим источник данных прямо в отчете, без использования хранилищ. То есть оставим переключатель в положении Create from a data source from the following list.

Следующий момент — выбрать тип источника данных в списке в центральной части экрана. Сразу скажем, что в подавляющем большинстве случаев выбирается JDBC Database Connection for Query Builder: самый простой и очевидный способ подключиться к большинству распространенных типов баз данных. Но остальные типы источников данных тоже иногда могут пригодиться:

  1. Cassandra Scripted Data Source — источник данных для подключения к Apache Cassandra (специфической базы данных со своим языком запросов CQL и без джойнов, за счет предельно упрощенной модели дающей некоторый выигрыш при работе с очень большими массивами данных с простой структурой). Для подключения к Cassandra из BIRT нужен Java-клиент Hektor, который нужно дополнительно доустанавливать;
  2. Classic Models Inc Sample Database — всегда готовый к использованию учебный тип источника данных. При помощи него производится подключение к учебной базе данных Classic Models, работающей на ядре базы данных Apache Derby (ранее IBM Cloudscape). Сама база данных вместе с Apache Derby устанавливается как компонент BIRT в процессе установки. В учебной базе Classic Models 9 таблиц, и она обычно используется для обучения, демонстраций и экспериментов тогда, когда под рукой нет никакой другой базы данных. Многие примеры в официальной документации BIRT также ориентированы на использование этой учебной базы данных;
  3. Excel Data Source — как понятно из названия, этот тип источника данных предназначен для подключения к файлам Excel. Поддерживаются типы файлов .xls и .xlsx, относительные (по отношению к отчету) и абсолютные пути к файлам. Можно указывать, что первая строка в таблице — названия столбцов, а вторая — указание на тип данных (если в этом есть необходимость). Подключение к Excel очень часто используется в ситуациях, когда пользователям не дают прямого доступа к базам данных, и им приходится работать с разного рода выгрузками в Excel;

  4. Flat File Data Source — подключение к текстовым файлам. Поддерживаются форматы CSV (разделитель — запятая, comma), SSV (разделитель — точка с запятой, semicolon), PSV (разделитель — вертикальная черта, pipe), TSV (разделитель символ табуляции, tab). SV, если что — separated values, то есть CSV — это comma-separated values, то есть значения, разделенные запятыми. Дополнительных возможностей для этого типа подключений можно определить множество:

    • можно указать конкретный текстовый файл, а можно — папку целиком. В качестве источника данных будут использованы все текстовые файлы из этой папки;
    • можно выбрать кодировку;
    • можно игнорировать пустые строки;
    • можно, как и для файлов Excel, определить строки с названиями столбцов и типами данных.

      Обычно подключение к текстовым файлам используется в еще более суровых ситуациях, когда данные для пользователей выгружаются даже не в Excel, а в текстовые форматы.

  1. Hive Data Source источник данных для подключения к базе данных Apache Hive, которую можно считать надстройкой над Hadoop (большие данные и распределенные вычисления, если коротко);

  2. JDBC Database Connection for Query Builder — как уже говорилось, этот тип источника данных выбирается в большинстве случаев, потому что именно его удобнее всего использовать для подключения к «нормальным» базам данным, таким, как Oracle, Microsoft SQL Server, PostgreSQL и т. п. В следующих разделах, в которых будет рассмотрено подключение к этим базам данных, будет использован именно этот вариант;

  3. JDBC Data Source — более универсальный, но менее удобный в настройке тип источника данных для подключения по JDBC. Обычно используется тогда, когда в отчете нужно подключаться к хранимой процедуре. Другой вариант — подключение к какому-нибудь экзотическому источнику данных, который не перечислен в списке JDBC Database Connection for Query Builder;

  4. MongoDB Data Source — как понятно из названия, этот тип источника данных предназначен для подключения к MongoDB — специализированной документоориентированной базе данных с открытым исходным кодом;

  5. POJO Data Source — тип источника данных, предназначенный для подключения к данным в формате POJO (Plain Old Java Object), то есть в виде классов Java;

  6. Scripted Data Source — тип источника данных для особо сложных случаев. Фактически при создании этого источника данных вы указываете только его имя. Все остальное потребуется реализовать в специальном классе Java с методами вида Open(), Fetch() и т. п. Этот способ предназначен для ситуаций, когда для получения данных для отчета требуется реализовывать дополнительную программную логику;

  7. Web Services Data Source — используется для подключения к источникам данных, представленных в виде обычных Web-служб, с обнаружением по WSDL и передачей данных в формате SOAP;

  8. XML Data Source — понятно, что используется для подключения к файлам в формате XML. Кроме пути к файлу потребуется также указать путь к XML Schema и кодировку для документа XML (необязательно).

В общем, в нашей ситуации выбираем пункт JDBC Database Connection for Query Builder. Этот вариант наилучшим образом подойдет и для подключений по PostgreSQL, и для Oracle, и для SQL Server, которые будут рассмотрены в следующих разделах.

Последний параметр, который можно определить в этом окне мастера создания нового источника данных — это собственно его название, то есть значение в поле Data Source Name. По умолчанию мастер предлагает названия вида «Data Source», «Data Source1» и т. п. Конечно, рекомендуется заменять эти названия на что-нибудь более значимое, например PostgresDevServerDB01 — чтобы сразу было понятно, что это за источник данных и к чему мы подключаемся.

Перейти к следующему разделу