Где лучшее место должно обработать транзакции в хранимой процедуре или в приложении?

Вы можете попытаться удалить файлы .gradle и .idea. Затем File -> Invalidate Caches / Restart . И перестройте проект своего проекта, когда откроется Android Studio.

не забудьте добавить google() в свои репозитории

repositories {
    google()
    jcenter()
}
8
задан Leo Nix 3 April 2009 в 21:18
поделиться

6 ответов

Это не проблема бизнес-логики, это - проблема целостности данных, и я чувствую, что это в порядке, чтобы сделать в хранимой процедуре. Мне нравится сохранять логику формирования транзакций максимально близко к операциям для сокращения их продолжительности.

4
ответ дан 5 December 2019 в 15:26
поделиться

TransactionScope является действительно хорошим способом справиться с транзакциями в коде. Это позволяет Вам вкладывать проведенный код через несколько методов и автоматически увеличивается к распределенному режиму при необходимости.

Я предпочитаю использовать TransactionScope по сохраненным proc транзакциям, потому что он дает Вам намного больше контроля в коде.

3
ответ дан 5 December 2019 в 15:26
поделиться

Или можно сделать это в обоих. Проверьте ссылку: http://www.4guysfromrolla.com/webtech/080305-1.shtml

1
ответ дан 5 December 2019 в 15:26
поделиться

Если Ваша транзакция идет в одну базу данных, чем это лучше, чтобы сделать транзакцию в хранимой процедуре. Другой путь может быть вызван только логистической проблемой (DBA не любят Вас, или он на каникулах). При вызове различных проведенных источников (SQL Server и Oracle) в одной транзакции - чем нет никакого выбора кроме, делают транзакцию в коде.

1
ответ дан 5 December 2019 в 15:26
поделиться

Я настоятельно рекомендовал бы настроить одну процедуру страницы и справиться со всеми sql действиями там. Если существует несколько задач работать на странице, которые требуют нескольких процедур, просто имеют одну процедуру, управляют другими процедурами. Ваша процедура может всегда возвращать несколько recordsets в случае необходимости.

  • Вы разбиваете на страницы, будет работать быстрее - не много данных, идущих назад и вперед, всего одно получение по запросу. Весь код sql уже компилируется с планами выполнения.
  • Вы сможете обработать свои ошибки намного более эффективно - в одном месте в противоположность в двух местах - наличие двух отдельных систем, чтобы решить, достаточно ли очень важно перестать работать - передающий какие-либо ошибки назад и вперед для поддержания целостности данных.
  • Вы минимизируете свои точки отказа. Если транзакция подходит, но отклонения веб-сервера, SQL-сервер оставлен, ожидая ответа.
  • Вы сэкономите массу времени поиску и устранению неисправностей и отладке.
  • Это поможет построить Ваш код из модулей SQL-сервера. Можно снова использовать sprocs, чтобы работать как задачи и закончиться с большим количеством fleixble масштабируемой устойчивой системы. HTH
1
ответ дан 5 December 2019 в 15:26
поделиться

Вот мои 2 простых правила для того, когда использовать транзакции:

  • если процедура будет иметь больше чем один оператор изменения данных, то она будет содержать транзакцию.
  • если приложение назовет больше чем одну хранимую процедуру, которая изменяет данные, то это будет содержать транзакцию.
1
ответ дан 5 December 2019 в 15:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: