Параметры источника данных рождения из файла свойств

StackOverflow https://stackoverflow.com/questions/1340339

  •  20-09-2019
  •  | 
  •  

Вопрос

У меня есть несколько отчетов BIRT, которые получают данные из одного и того же источника данных jdbc.

Можно ли получить параметры подключения (URL-адрес драйвера, имя пользователя и пароль) из внешнего файла свойств или подобного?

Это было полезно?

Решение

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

Если вы хотите экспортировать информацию о соединении, вам нужно будет настроить сам источник данных.В редакторе источников данных есть раздел «Привязка свойств», который позволяет абстрагировать все значения, управляющие подключением к данным.Отсюда вы можете привязать значения (с помощью редактора выражений) либо к параметрам отчета, либо к файлу свойств.

Для привязки к параметру отчета используйте следующий синтаксис: params[parametername].value как выражение.

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

Удачи!

Другие советы

Альтернативой хорошему решению @Mystik «Привязка свойств» является экспортирование в профиль подключения.

  • Создать источник данных (скажем «DS»), настроив правильную конфигурацию параметров для подключения к БД.
  • Щелкните правой кнопкой мыши «DS» > «Энтерализация в профиль подключения…»> отметьте оба параметра, задайте имя для профиля подключения, ОК > задайте путь и имя файла для сохранения Магазин профилей подключения (скажем, «имя_отчета.cps»), снимите флажок «Шифровать...»(таким образом мы можем вручную изменить информацию в XML-файле).

Теперь у нас есть «reportName.cps», XML-файл, который мы можем изменить в соответствии со средой, в которой мы размещаем наш отчет (разработка, производство и т. д.).Проблема в том, что «DS» статически загрузил информацию из «reportName.cps».Он загружает их динамически, если может найти «reportName.cps» по указанному нами абсолютному пути.Поэтому при изменении среды путь к файлу будет другим, и отчет не найдет наш файл.Чтобы сообщить отчету правильное расположение файла и динамически его загрузить, напишем скрипт:

  • Настройка доОткрыть скрипт чтобы использовать профиль подключения, развернутый в папке ресурсов, который может быть разным для каждой среды:

    var myresourcefolder = reportContext.getDesignHandle().getResourceFolder();
    this.setExtensionProperty("OdaConnProfileStorePath", myresourcefolder + "/reportName.cps");
    
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top