Обновление функциональности базы данных из инструментов отчетности - PullRequest
0 голосов
/ 26 ноября 2018

есть ли способ обновить значения в отчете BIRT, которые, в свою очередь, обновят базу данных?Нам нужно представить отчет, сгенерированный на сервере Microsoft SQL, клиенту, мы попытались предоставить отчет в формате Excel, однако наш клиент изменил формат, и нам трудно снова использовать его в нашем проприетарном инструменте (который основан на Microsoft SQL).Есть ли способ, которым мы можем достичь этого?Клиент должен обновить значения в отчете, и это должно быть отражено в БД

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Инструменты отчетности предназначены только для генерации результатов.* общая концепция автоматизации невозможна, если подумать об этом с более абстрактной точки зрения:

В базе данных есть данные D (обычно разбросанные по нескольким таблицам T1, ..., Tn и записи R1, ..., Rm).Выходные данные отчета O = (o1, o2, ...) являются результатом более или менее сложной (противоположной тривиальной) функции f (R1, ..., Rm).Автоматический автомат обратного распространения любого вида, о котором вы мечтали, должен был бы знать, что означает изменение значения o1 с «спама» на «яйца» для R1, ..., Rm.... Или даже для записей, которые не были выбраны f, например, если пользователь изменил значение столбца первичного ключа.Это возможно только в том случае, если функция f биективна (я не знаю, правильное ли английское слово), но обычно f не биективна.Даже если это так, задача инвертирования нетривиальной функции очень сложна.

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

В зависимости от вашей базы данных, это может быть так же просто, как позволить пользователю работать с разработчиком Oracle SQL * или подобными инструментами, которые поддерживают импорт данных из таблиц Excel.Однако эти инструменты предназначены для разработчиков SQL, как следует из названия.

OTOH, если все, что вам нужно, это выполнять операторы DML в BIRT, это возможно косвенно: вы можете писать хранимые процедуры в базе данных, выполняяDML работает и вызывает эти процедуры из BIRT (используйте запрос хранимых процедур JDBC вместо запроса выбора JDBC SQL).

0 голосов
/ 28 ноября 2018

, хотя можно написать в wrtie обратно в db из BIRT с помощью сервлета (см. Форум сообщества Eclipse ). Я не знаю, как BIRT мог отслеживать измененные значения.

Несмотря на то, что трудно создавать файлы Excel, проще создавать файлы CSV из этих файлов Excel и сравнивать файлы CSV независимо от форматирующих изменений в Excel.

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

...