|
|
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
База на Access XP -> ODBC -> MSSQL 2K Главное требование - чтобы эту процедуру можно было считать транзакцией. Т.е. если где-то в середине процесса произошел сбой, то полный Rollback... Сложность в том, что вносятся изменения сразу в 4 таблицы. Мои варианты: 1) Сделать SP на серваке //направление не совсем изведанное, но интересное 2) Все сделать в VBA на Recordset'ах. //изведано и неинтересно + откат заколебусь делать Что скажет стая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 16:23 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 16:26 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
Хвоста зовут Виктор. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 16:29 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 16:30 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
А дополнения, замечания и напутствия?!?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 16:33 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
>А дополнения, замечания и напутствия?!?! А что не ясно? Создал ХП с нужными выходными параметрами, не забыл про Begin Tran/Commit Tran/Rollback tran Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. Блок проверки вообще-то надо размножить после каждой операции по изменении данных - я для простоты сократил. Вызвал ХП с помощью DAO/ADO. Убедился в отсутствии ошибок - пошел пить пиво. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 16:50 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
Делай SP. в ней начиная транзакицю и откатывай, если что. Что делать при откате и в скольких таблицах - уже сервер будет думать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 16:51 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
2 Viktor: да в се ясно. Теперь стало еще яснее, спасибо... Может просто есть какие-нить подводные камни, рифы, отмели и т.д. Короче говоря, лоцман может идти пить пиво? 2 Артем1: Угу. Пасиб. 2 Всем: Т.е. ХП - самый оптимальный вариант решения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 17:06 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
А сам как думаешь - где надежнее делать Rollback: в Аксессе или в SQL'e? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 17:38 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
где надежнее делать Rollback: в Аксессе или в SQL'e? Монопенисуально Все равно Rollback будет делаться на MS SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 17:48 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
транзакции лучше делать на сервере ибо в случае зависания клиентского приложения все остальные юзеры могут начать курить ожидая снятия блокировки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 17:56 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
Спрашивалось "где надежнее" А зависнуть и ХП может :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 18:04 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
Лох Позорный Все равно Rollback будет делаться на MS SQL Не-а, он будет делаться на VBA А дойдет ли до него - вот это вопрос... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 18:17 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
Лох Позорный Спрашивалось "где надежнее" А зависнуть и ХП может :)) Есть такой анекдот про динозавра и женскую логику. В приложении к текущей теме это будет звучать примерно так: - Что скорее зависнет - клиент или сервер? - А монопенисуально! - Почему? - В обоих случаях вероятность 50% - или зависнет, или не зависнет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 18:26 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
Senin VictorБлок проверки вообще-то надо размножить после каждой операции по изменении данных - я для простоты сократил. Я бы сделал так: Код: plaintext А уж там Код: plaintext 1. Да и в Else при одной инструкции не нужны Begin / End (но это я уже так, придираюсь попусту) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 18:40 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
Сорри, что поздно - но откат лучше давать деньгами - больше вероятность что клиент придет снова :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 18:54 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
2 Odess: Шутник. Мы и так в кредит даем. Если еще и дженьги отдавать, то ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 18:56 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
Лады, я решился. О ходе операции буду сообщать Сяду на мель, подам SOS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 18:57 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
Не-а, он будет делаться на VBA А дойдет ли до него - вот это вопрос... Не смешите мои тапки. В VBA даже слова такого нет И пусть не дойдет до Rollback в VBA (ну умер клиент совсем) - что с того? Commit что-ли случится? Или до второго пришествия блокировки будут висеть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 20:01 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
Если конекшен оборвется то с транзакцией случится автоматом ролбак по второму пришествию - новое соединение и соответственно - запущенная другим процессом транзакция будет не видна гораздо хуже если есть "долгие" транзакции или приложение зависло во время начатой транзакции а конкшен не оборвался. будут отдыхать все пользователи в чьи запросы нужно отбирать записи из блокированных таблиц(если это особо не оговорено в хинтах что разрешается грязное считывание) пока не оборвется коннект или будет подтверждена или откачена транзакция.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2004, 09:39 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
Лох Позорный Не смешите мои тапки. В VBA даже слова такого нет Мои тапки тоже смешить не надо Dim wsp As DAO.Workspace wsp.BeginTrans wsp.Rollback К VBA это отношения не имеет, что ли? (Хотя выразить Rollback можно и другими словами что я и имел в виду) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 10:11 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
2 AlexJuice >Мои тапки тоже смешить не надо >Dim wsp As DAO.Workspace >wsp.BeginTrans >wsp.Rollback > >К VBA это отношения не имеет, что ли? >(Хотя выразить Rollback можно и другими словами >что я и имел в виду) Я, конечно, дико извиняюсь, но сии манипуляции относяться к ядру Jet и могут быть исполнены из любой среды поддерживающей COM. (дружный смех тапок) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2004, 00:30 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
Опять чего-то накурились... Прям-таки беда... Тапки смеются... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2004, 01:22 |
|
||
|
Как лучше сделать откат списания накладной?
|
|||
|---|---|---|---|
|
#18+
Я, конечно, дико извиняюсь, но сии манипуляции относяться к ядру Jet Я дико извиняюсь перед чайником и смеющимися тапками, но сии манипуляции относятся не к Jet, а к DAO, и мало того, что могут быть исполнены из любого языка, так еще и применительно к любым базам (не только к аксесу или MS SQL). тапки уже катаются по полу от смеха ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2004, 09:27 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32383493&tid=1676990]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
206ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 503ms |

| 0 / 0 |
