|
|
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
Добрый день! Подскажите, пожалуйста, по следующей ситуации... 1) На информационной панели есть кнопка, по нажатии на которую запускается процедура. 2) На этой же информационной панели есть дата и время отображения отработки процедуры, которая берётся из тиблички БД (эту дату обновляет процедура, после того, как отработает) Подскажите, как сделать нечто подобное: При нажатии на кнопку отображать надпись "Обновление данных" до тех пор, пока в табличке с датой не обновится значение? Можно ли сделать какой то AJAX? Или что то подобное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2019, 12:35 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
zorlo, "информационная панель" - в чем? Сколько записей? Сколько занимает Reload? Какие именно изменения необходимо отобразить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2019, 12:41 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
George Nordic, Информационная панель в Oracle BI. Информационная панель представляет собой html-страницу с набором объектов oracle bi - некое отображение данных из БД в экранной форме. На странице может быть много объектов. На страницу можно вставлять html. К примеру, я сделал кнопку на странице в html. Reload - в плане сколько отрабатывает времени процедура? Где то 3 - 4 минуты. В общем один из объектов - это отображение строкой даты и времени отработки процедуры, которые берутся из таблички БД. Хотелось бы сделать нечто подобное - когда запускается процедура по нажатию кнопки на странице - на странице бы отображалась какая-нибудь надпись и она была до тех пор, пока в табличку БД не запишется новое значение даты обновления процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2019, 13:45 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
zorloGeorge Nordic, Информационная панель в Oracle BI. Информационная панель представляет собой html-страницу с набором объектов oracle bi - некое отображение данных из БД в экранной форме. На странице может быть много объектов. На страницу можно вставлять html. К примеру, я сделал кнопку на странице в html. Reload - в плане сколько отрабатывает времени процедура? Где то 3 - 4 минуты. В общем один из объектов - это отображение строкой даты и времени отработки процедуры, которые берутся из таблички БД. Хотелось бы сделать нечто подобное - когда запускается процедура по нажатию кнопки на странице - на странице бы отображалась какая-нибудь надпись и она была до тех пор, пока в табличку БД не запишется новое значение даты обновления процедуры. Не задумывались о материализации того, что выдает процедура заблаговременно? И пинанием процедуры job db, etl tool в круговою или по какому либо расписанию? Заставлять пользователя ждать , тем более пинать из BI процедуру не лучший способ, на мой взгляд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2019, 16:26 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
sharkoff_new, Пинать из BI процедуру я научился. Job есть. Пользователю хочется ещё дополнительно кнопку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2019, 17:13 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
zorlosharkoff_new, Пинать из BI процедуру я научился. Job есть. Пользователю хочется ещё дополнительно кнопку Путь в никуда. Вы пытаетесь заменить учетную систему BI решением. Раньше тоже модно было из отчетов процедуры дергать. Это всегда костыли и грабли в одном флаконе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2019, 17:29 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
tarrus, Может и грабли, но никуда без них... Я думаю сейчас над двумя решениями: 1) Обновлять раз в какое то время только один анализ на странице? Можно так сделать? Рефрешить не всю страницу, а только один анализ? Рефрешить всю страницу раз в какое то время я умею. А вот только один анализ нет... 2) Попробовать прикрутить механизм, чтобы при нажатии на кнопку начали крутиться часики до тех пор, пока в табличке с датой не обновится значение. Наверняка можно как то сделать? Подскажете направление? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2019, 18:22 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
zorlotarrus, Может и грабли, но никуда без них... Я думаю сейчас над двумя решениями: 1) Обновлять раз в какое то время только один анализ на странице? Можно так сделать? Рефрешить не всю страницу, а только один анализ? Рефрешить всю страницу раз в какое то время я умею. А вот только один анализ нет... 2) Попробовать прикрутить механизм, чтобы при нажатии на кнопку начали крутиться часики до тех пор, пока в табличке с датой не обновится значение. Наверняка можно как то сделать? Подскажете направление? Спросите себя и пользователя, а зачем? У всех систем есть ограничения и не все хотелки реализуемы. Ваш колхоз потом кому-то разгребать, помните об этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2019, 18:32 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
zorlo, согласен со скептицизмом коллег. Если нужно быстродействие (кстати, насколько часто?) я бы перегружал данные в in-memory DB и строил бы витрины поверх неё. Кстати, все более распространенным становится данный подход. Но в вашем случае - это изменение архитектуры. Может последовать жесть. Только если подобных запросов будет много и есть шанс переделать малой кровью. Непонятна сама постановка задачи. Что пользователь ждет увидеть? Ну, увидит он 10000200 строк вместо 10000000 - это ему поможет? Облегчит его моральные страдания? Если что-то определенное ждет - ставите триггер и делайте алерт. Можно поподробнее о постановки задачи? tarrus, это не замена учетной системы на BI - в BI 95% случаев данные раз в день грузятся - для анализа нет необходимости в посекундной точности, он для принятия тактических решений. Для оперативных - фрод там или анализ отклонения трафика - есть специализированные продукты типа Splank'a или вообще на уровне DB проверка заложена. С Уважением, Георгий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2019, 10:20 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
George Nordic, С точки зрения пользователя, концепция такая... 1) Есть страничка, где много ссылок на разные отчёты. 2) Все отчёты обновляются одной процедурой. 3) В конце страничке выведен анализ, где отображается дата и время отработки процедуры. Этот анализ смотрит на вюху в БД, в которой одна строка с датой обновления процедуры. Когда запускается процедура - дата во вьюхе становится пустой, когда процедура закончила работать - в поле проставляется дата. Нужно было сделать кнопку, по нажатию на которую запускалась бы процедура, появлялся бы какой-нибудь признак на странице, что процедура отрабатывает и после отработки показалась бы дата отработки. Как я запускаю процедуру: 1) Я сделал кнопку при нажатии на которую происходит на секунду переход на точно такую же страничку, отображается анализ. 2) Этот анализ сделан на базе вьюхе, в которой запускается select, который запускает функцию, которая в свою очередь уже дёргает процедуру Теперь к сути.... После того, как я нажал кнопку - интересно было бы видеть работает ли ещё процедура или остановилась... Я вижу два пути, но пока не знаю как их реализовать... 1) Сделать js процесс на страничке, который бы смотрел на вьюху в БД, когда у неё в поле дата пусто - то на страничке - либо производился бы refresh каждые 10 секунд (желательно только одного анализа, где отображается дата) - либо выводилось сообщение с подобным текстом "Производится обновление данных" 2) Если первый пункт не получится - поставить автоматический refresh только на этот анализ, где отображается дата на каждые секунд 20. Но я пока не знаю, можно ли сделать автоматический refresh не на всю страницу, а только на конкретную область, где размещён анализ.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2019, 11:57 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
Zorlo, кажется, Вы пытаетесь написать собственную BI-систему поверх DB? Да еще и для финансовой организации? Мне кажется, это не лучшая идея. Особенно в плане реализации безопасности и разграничения ролей доступа. >1) Есть страничка, где много ссылок на разные отчёты. - ок. Типа Дашборда или просто ссылки на отчеты? >2) Все отчёты обновляются одной процедурой. - вот это зло. Конечно, смотря что за отчеты. Но 90% отчетов для принятия управленческих решений требует загрузки раз в неделю. минимум - раз в день. ЧАС - уже редкость. Если надо чаще - это уже он-лайн аналитика, там другие задачи - фрод / безопасность, анализ работоспособности железа и приложений... >3) В конце страничке выведен анализ, где отображается дата и время отработки процедуры. Этот анализ смотрит на вюху в БД, в которой одна строка с датой обновления процедуры. Когда запускается процедура - дата во вьюхе становится пустой, когда процедура закончила работать - в поле проставляется дата. > Нужно было сделать кнопку, по нажатию на которую запускалась бы процедура, появлялся бы какой-нибудь признак на странице, что процедура отрабатывает и после отработки показалась бы дата отработки - вот тут вопрос в том, сколько отрабатывает процедура и как ждать ее окончания. И что будет если это время существенно вырастет? Свой Progress Bar писать? >С точки зрения пользователя, концепция такая... Я пытаюсь понять бизнес-задачу. Давайте возьмем отчет, по которому требуют посекундную оперативность - что именно отслеживают пользователи? А что будет, если там будут данные на секундной давности, а 10-секундной? Сколько строк / транзакций хотят они видеть? С Уважением, Георгий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2019, 12:33 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
George Nordic, >1) Есть страничка, где много ссылок на разные отчёты. - ок. Типа Дашборда или просто ссылки на отчеты? - Это реализовано с помощью компонентов BI "Ссылка или изображение" где размещён путь к нужной информационной панели (на пример на скриншоте) >2) Все отчёты обновляются одной процедурой. - вот это зло. Конечно, смотря что за отчеты. Но 90% отчетов для принятия управленческих решений требует загрузки раз в неделю. минимум - раз в день. ЧАС - уже редкость. Если надо чаще - это уже он-лайн аналитика, там другие задачи - фрод / безопасность, анализ работоспособности железа и приложений... - Джобы тоже есть, но есть необходимость обновлять по кнопке в некоторые моменты. 3) >С точки зрения пользователя, концепция такая... Я пытаюсь понять бизнес-задачу. Давайте возьмем отчет, по которому требуют посекундную оперативность - что именно отслеживают пользователи? А что будет, если там будут данные на секундной давности, а 10-секундной? Сколько строк / транзакций хотят они видеть? - К примеру пользователи в течении дня грузили какие то источники или редактировали данные в разных системах. И тут не дожидаясь джоба - захотелось посмотреть эти изменения в отчётах. Посекундная давность не нужна. Достаточно того времени давности, с которого начала отрабатывать процедура. Поэтому и хочется отображать на главной странице состояние загрузки процедуры. Количество транзакций зависит от того на сколько много было изменений в данных. К примеру, пока процедура отрабатывала не более 10 минут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2019, 13:09 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
zorlo, честно, я бы изменил постановку самого бизнес-запроса. Ну да ладно, успеете еще с пользователями наобщаться. Так как у вас не одна таблица, а, судя по всему, сложный план запроса, я бы курил в сторону Estimated Execution Plan. Т.е. делал бы прогресс бар или писал "Джоб запущен, ожидаемое завершение %" С Уважением, Георгий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2019, 13:46 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
Мне кажется данная задача, достаточно тривиальна в каждую процедуру пишется строчка insert into table_log Название процедуры , дата , итд А потом выводится результат селекта из данной таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2019, 19:36 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
мигель1Мне кажется данная задача, достаточно тривиальна в каждую процедуру пишется строчка insert into table_log Название процедуры , дата , итд А потом выводится результат селекта из данной таблицы Как бы да, но когда у вас процедуры идут не по паре миллисекунд, а проклятые людишки жмут на кнопку несколько раз, начинаешь понимать за что занимаешься поддержкой больше, чем разработкой. Приходилось разгребать подобные поделия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 12:06 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
tarrusа проклятые людишки жмут на кнопку несколько разDisable кнопки, вместо неё "процедура запущена в 13.22 ожидаемое завершение в 13.45" И писать время отработки предыдущих запросов в отдельную таблицу - тоже норм идея. С Уважением, Георгий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 13:23 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
George Nordictarrusа проклятые людишки жмут на кнопку несколько разDisable кнопки, вместо неё "процедура запущена в 13.22 ожидаемое завершение в 13.45" И писать время отработки предыдущих запросов в отдельную таблицу - тоже норм идея. С Уважением, Георгий. Т.е. уже сколько колхоза набирается. А потом еще права на кнопку попросят прикрутить и пошло поехало :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2019, 14:23 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
tarrus, Процедура отрабатывает каждый раз разное время... Я попробовал написать функцию, которая запускает процедуру. Ну и вызываю её потом во вьюхе в селекте, вывел это в анализ на информационную панель и навесил стандартную кнопку обновить. Когда нажимаешь кнопку "Обновить" - появляется кружок ожидания, вроде всё как надо... Но когда перезаходишь на страницу - происходит автоматический рефреш этого анализа и процедура всёравно запускается без кнопки... Решение не подходит. Остаётся старое решение... Нажимаем кнопку - происходит переход на другую страницу, где отображается результат вьюхи, который запускает процедуру, потом сразу происходит переход обратно. Теперь что хочется в идеале... У меня выведен анализ с отображением даты... Хотелось бы, чтобы этот анализ автоматически рефрешился каждые 10-15 секунд до тех пор, пока там не обновится дата. В крайнем случае, чтобы этот анализ рефрешился постоянно каждые 10-15 секунд. Я нашёл решение здесь https://www.sql.ru/forum/1128192/obiee-11g-avtorefresh-stranicy?mid=17213323#17213323 Научился вычислять answer_id, но под своё решение пока не приспособил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2019, 10:20 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
zorlotarrus, Процедура отрабатывает каждый раз разное время... Я попробовал написать функцию, которая запускает процедуру. Ну и вызываю её потом во вьюхе в селекте, вывел это в анализ на информационную панель и навесил стандартную кнопку обновить. Когда нажимаешь кнопку "Обновить" - появляется кружок ожидания, вроде всё как надо... Но когда перезаходишь на страницу - происходит автоматический рефреш этого анализа и процедура всёравно запускается без кнопки... Решение не подходит. Остаётся старое решение... Нажимаем кнопку - происходит переход на другую страницу, где отображается результат вьюхи, который запускает процедуру, потом сразу происходит переход обратно. Теперь что хочется в идеале... У меня выведен анализ с отображением даты... Хотелось бы, чтобы этот анализ автоматически рефрешился каждые 10-15 секунд до тех пор, пока там не обновится дата. В крайнем случае, чтобы этот анализ рефрешился постоянно каждые 10-15 секунд. Я нашёл решение здесь https://www.sql.ru/forum/1128192/obiee-11g-avtorefresh-stranicy?mid=17213323#17213323 Научился вычислять answer_id, но под своё решение пока не приспособил Всё это какая-то адская жесть. Кнопки, процедуры, функции во вьюхах. Самоустраняюсь, обсуждать тут нечего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2019, 11:55 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
попытка сделать из Bi универсальный GUI для приложения ))) сова натягивалась, натягивалась.... но глобусь пролазил с большим трудом AFAIK с учетом, что Oracle BI обычный Weblogic Server, то никто не мешает на него тупо задеплоить кастомное ADF приложение. Но готов ли за это платить работодатель/заказчик/пользователь? Наверное можно и без server-side Java обойтись, чисто клиентский JavaScript + адовые refresh'и. Но лично мне, было бы проще программировать на полноценных средствах разработки (JDeveloper, ADF). Ну и потребность опыта в программировании (JavaScript + HTML + умение читать чужой код) все равно никуда не девается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2019, 15:54 |
|
||
|
Как сделать обновления области информационной панели при изменениии данных в таблице БД?
|
|||
|---|---|---|---|
|
#18+
занимаюсь тем же самым. Но только в связке с TIBCO Spotfire. Суть та же, но с ним легче, он умеет на питоне, а питон умеет и что хочешь вызывать и даже в базу писать и "processing" отображать. Все это конечно от жадности, что тут говорить. Жалко платить полмильена нерублей за супер-джава приложение которое будет writeback красиво делать, когда можно не очень красиво за 50к. p.s. Я бы на месте бизнеса тоже не платил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2019, 08:53 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=39776599&tid=1857642]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 276ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...