|
|
|
Как на сервере получать сообщения от БД?
|
|||
|---|---|---|---|
|
#18+
Usman понял спасибо! Petro123: 1. отсылку сообщений можно убрать это не проблема. Я правда не понимаю чем это вредит, ведь на сервер они не приходят. По моему разумению это просто на тот случай если кто-то вручную поработать с БД захочет - с целью дать понять в чем дело. 2. "если вся бл триггерах и бд" - нет в БД только триггеры для проверки целостности данных. Основная логика уже на клиенах. Тут в примере просто сам сервер получает сообщение - отправить его клиенту (вместо null) это уже не проблема. Мне просто как раз и не нравится именно то место где я "докапываюсь" до сообщения от триггера... 3. Спасибо что тратите на меня столько времени:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2016, 11:07 |
|
||
|
Как на сервере получать сообщения от БД?
|
|||
|---|---|---|---|
|
#18+
RuslanGab, 1. Может ты не понял, я как раз говорил зачем эти строки (из за которых сыр бор) Код: java 1. 2. если логи, то они не нужны. Если ошибка пользователю, то надо\ можно по другому 2. RuslanGabтриггеры для проверки целостности данных. Основная логика уже на клиенах. тогда выше вам говорили, а вы соменвались: "Ошибка из триггера будет очень редко" - БЛ их не допустит. RuslanGabТут в примере просто сам сервер получает сообщение - отправить его клиенту (вместо null) это уже не проблема. Мне просто как раз и не нравится именно то место где я "докапываюсь" до сообщения от триггера... говорите яснее "сам сервер" - это и аппСервер и БД))) ... С учётом выше сказанного нам непонятно, что вы хотите). У программиста логика должна быть на 5 (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2016, 12:15 |
|
||
|
Как на сервере получать сообщения от БД?
|
|||
|---|---|---|---|
|
#18+
Petro123 1. Это конечно не "рабочее" решение. То что тут кидается на вывод в консоль - чисто для меня увидеть что да мол вот я это получил. Клиенту будет отправляться вместо null например JSON объект, в котором будет лежать сообщение (или его код), но там уже разные варианты как передать и тут как раз вопросов пока вроде нет. 2. Cервер - GlassFish. Я на нем хочу получить сообщение от триггера БД (что и делаю своим корявым способом), чтобы далее донести клиенту почему то что он хочет сохранить мы сохранять нифига не будем - ради этого весь сырбор. Касательно "Ошибка из триггера будет очень редко" я не согласен - будет столько сколько попыток будет сохранить неверные данные. Да хоть бы и редко - я хочу чтобы это работало! :) Как раз интересно иметь триггер который будет делать работу и на клиенте раз оно уже делается триггером не думать снова о проверках при сохранении. Я хочу просто получать ошибки уже из базы для конкретно этих случаев (проверяемых триггерами). Вот и пытаюсь найти универсальное и правильное что-то. возвращаясь к моему вопросу авторто что проверять можно на клиенте перед сохранением понятно. Как раз и хотелось бы "из спортивного интереса" попробовать получить универсальное решение со стороны самой базы чтобы потом уже с увеличением количества триггеров (а оно в небольшой степени будет в любом случае) не думать ни о чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2016, 12:47 |
|
||
|
Как на сервере получать сообщения от БД?
|
|||
|---|---|---|---|
|
#18+
RuslanGabКасательно "Ошибка из триггера будет очень редко" я не согласен - будет столько сколько попыток будет сохранить неверные данные. - зависит от БЛ. Приведи БЛ, и мы сможем сказать как ошибку исключить малой кровью. Это закон веба - минимальные пересечения рессурсов. RuslanGabДа хоть бы и редко - я хочу чтобы это работало! :) оно работает - наверх идёт райзо до перехвата вами try RuslanGabКак раз интересно иметь триггер который будет делать работу и на клиенте раз оно уже делается триггером не думать снова о проверках при сохранении. валидация данных разная бывает. Опять пример нужен. RuslanGabЯ хочу просто получать ошибки уже из базы для конкретно этих случаев (проверяемых триггерами). Вот и пытаюсь найти универсальное и правильное что-то. возвращаясь к моему вопросу Ещё раз! - триггер выдал ошибку (хотите номер, хотите строку) - вы её перехватили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2016, 13:20 |
|
||
|
Как на сервере получать сообщения от БД?
|
|||
|---|---|---|---|
|
#18+
RuslanGabКак раз интересно иметь триггер который будет делать работу и на клиенте раз оно уже делается триггером не думать снова о проверках при сохранении. у меня проект одни Oracl + APEX тонкий клиент. Я вообще не перехватываю ошибку из оракла, как приводил пример выше. У юзверя только 3 буквы впереди непонятные ORA-233434. А далее понятный текст ошибки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2016, 13:22 |
|
||
|
Как на сервере получать сообщения от БД?
|
|||
|---|---|---|---|
|
#18+
окапечатка: у меня проект одни один )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2016, 13:24 |
|
||
|
Как на сервере получать сообщения от БД?
|
|||
|---|---|---|---|
|
#18+
ещё совет - не ставь try так дальше и выше по стеку, насколько возможно. Если линейка\платформа умеет, то на клиенте будет JS - alert(текст ошибки). Т.к. один поток и одна транзакция. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2016, 13:30 |
|
||
|
Как на сервере получать сообщения от БД?
|
|||
|---|---|---|---|
|
#18+
Petro123, зависит от БЛ. Приведи БЛ, и мы сможем сказать как ошибку исключить малой кровью - да там все просто. Это клиент на JavaFX - данные, представленные в GUI, скажем изменяются и сохраняются (на GlassFish через rest летит сохраняемый объект). В этом месте и показывать особо нечего:( Далее триггер в одной из таблиц при сохранении в ней данных уже смотрит условия (опять же могут быть разные триггеры и условия для разных таблиц) и сохраняет все ЛИБО откатывает транзакцию (т.е. сам откат в JPA делать не надо - я посмотрел про декларативные транзакции по вашему совету, но это не суть моего вопроса). Тут все очевидно и понятно, НО при откате естественно дать клиенту знать что мол "нееее: ты мне фигню послал так что не шали тут". Я могу эту проверку сделать на клиенте еще до попытки сохранения и ничего и не пытаться сохранить это вообще не вопрос, но тогда проверки придется делать в разных местах для разных таблиц и кроме того скажем админ напрямую сможет фигню в базу загнать (коли триггер убрать вообще). Мне подумалось что коли триггер таки с этой работой справляется уже то нефиг дублировать функции а пусть он и дальше это делает, а мы от него получаем сообщения. Причем хотелось чтобы было универсально и в одном месте все ловилось от всех возможных триггеров. Вот и все. В целом сделал так что оно фурычит, но мне просто не понравилось что я поднимаю исключение в БД и ловлю его в итоге через кучу других исключений - оттого пошел на форум за советом мож что рациональнее и проще в природе имеется. оно работает - наверх идёт райзо до перехвата вами try - таки да! Вопрос и есть в том нормально ли это что я на БД поднимаю исключение и ловлю его через кучу других. Petro123Ещё раз! - триггер выдал ошибку (хотите номер, хотите строку) - вы её перехватили? да. Все. Понимаю что задолбал. В итоге наверное пока остановлюсь на том что есть - оно все же работает. Когда будет БЛ с JMS горю желанием попробовать все это задружить глядишь выйдет то что мне таки понравится. Еще раз всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2016, 01:14 |
|
||
|
Как на сервере получать сообщения от БД?
|
|||
|---|---|---|---|
|
#18+
RuslanGab, Я не вижу зачем тут jms. Покажи большую кучу. Про кучу разговора еще не было))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2016, 10:59 |
|
||
|
Как на сервере получать сообщения от БД?
|
|||
|---|---|---|---|
|
#18+
RuslanGab, а попробуйте использовать сервер ActiveMQ и JMS Может получится посылать сообщение из базы на этот сервер. Ну а дальше дело техники. Вроде так) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2016, 13:40 |
|
||
|
Как на сервере получать сообщения от БД?
|
|||
|---|---|---|---|
|
#18+
вадя, авторесли ты не владеешь темой - не лезь Да!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2016, 13:45 |
|
||
|
Как на сервере получать сообщения от БД?
|
|||
|---|---|---|---|
|
#18+
вадя, авторon error goto это равносильно try catсh в java, только с фишкой - возарата в точку возникновения этого исключения и продолжения работы с исправленными переменными., а не просто пропуск кода , как в java Да! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2016, 13:45 |
|
||
|
Как на сервере получать сообщения от БД?
|
|||
|---|---|---|---|
|
#18+
MS Access - гениальный продукт в своём роде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2016, 13:49 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2124319]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
7ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 472ms |

| 0 / 0 |
