Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Кто знает как работать с ITransactionOutcomeEvents?
|
|||
|---|---|---|---|
|
#18+
В начале навыполнения транзакции MS SQL срабатывает триггер, который вызывает функцию в DLL (extended stored procedure). В этой DLL требуется проверить завершение транзакции прежде чем обработать данные пришедшие из триггера. Это можно сделать с помощью интерфейса ITransactionOutcomeEvents ( API OLE DB ). Помогите разобраться, как будет выглядеть фрагмент кода, осуществляющий это. Заранее благодарен! apmix@chat.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2001, 18:11 |
|
||
|
Кто знает как работать с ITransactionOutcomeEvents?
|
|||
|---|---|---|---|
|
#18+
Проверять ничего не нужно. Транзакция гарантировано не закончится, пока не завершится работа триггера, а триггер не завершится, пока не произойдет возврат из функции из DLL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2001, 07:04 |
|
||
|
Кто знает как работать с ITransactionOutcomeEvents?
|
|||
|---|---|---|---|
|
#18+
Спасибо, Глеб! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2001, 07:16 |
|
||
|
Кто знает как работать с ITransactionOutcomeEvents?
|
|||
|---|---|---|---|
|
#18+
Я неточно сформулировал задачу. Эта DLL передает данные другой программе ( по TCP ) и ВОЗВРАЩАЕТ управление триггеру. И в той другой программе уже нужно дождаться завершения транзакции или её отмены. Вот в этом случае как воспользоваться ITransactionOutcomeEvents? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2001, 07:24 |
|
||
|
Кто знает как работать с ITransactionOutcomeEvents?
|
|||
|---|---|---|---|
|
#18+
А транзакция точно "distributed"? Это интерфейс только для них. Можно попробовать другой путь, менее тернистый. Той программе передаешь ID-транзакции, взятый из srv_getbindtoken (ODS API) или из sp_getbindtoken. А программа пытается присоединиться к контексту транзакции, вызывая sp_bindsession. Если удается, значит, транзакция еще есть, если не удается, значит, транзакция уже закончена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2001, 08:11 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32017371&tid=1824920]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
67ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 383ms |

| 0 / 0 |
