![]() |
|
Модераторы: LSD |
![]()
|
|
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
Такая ситуация на практике часта? Или же всетке исключительна? Можешь привести какойнить нормальный, внятный пример? В пику сферического в вакууме, высосанного из пальца мной. Я так понимаю ты уже обжигался на этом. Те примеры, которые приходят мне в голову - заведомо плохая практика. Необходимость в завершении транзакций в процедуре если и возникает, то, обычно речь идет о процессах, инициируемых самим сервером. Логика таких процедур должна подразумевать повторное выполнение, в случае неуспешности выполнения. Работают такие процедуры, соответственно под контролем механизма транзакций оракла. Опасности тут не вижу. Если же процесс инициируется клиенстким приложением, то и транзакцией должно управлять клиенское приложение. Фиксация транзакции в процедуре, в таком случае - моветон. Если вернуться к примеру, который приводил я. После восстановления работы, так ранее и не выполнявшаяся до конца процедура должна будет выполниться сызнова и дополнить недостающие данные. Это сообщение отредактировал(а) Zloxa - 19.3.2013, 14:54 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 18 Всего: 538 |
Я нет, а пример привести конечно могу, но с моей точки зрения он будет плохим потому что я считаю, что не место бизнес логике в СУБД Пусть у нас есть некая процедура которая обрабатывает данные в СУБД и шлет нотификации во внешнюю систему о запроцессеных данных, чтобы та система могла их взять и начать с ними что-то делать. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
В этом случае наша система в случае сбоя потеряет и информацию о том, что внешний сервис уже оповещен и оповестит его повторно после восстановления работоспособности. Это может стать проблемой лишь в случае, если внешний сервис не умеет различать передаваемые ему объекты, данные могут задвоиться, но, мне думается интеграция по такому принципу - плохая практика. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 18 Всего: 538 |
Внешний сервис может полезть в базу, за данными которые уже якобы закомичены. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]()
|
| Правила форума "Oracle" | |
|
|
Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Oracle | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |