powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Кто знает как работать с ITransactionOutcomeEvents?
5 сообщений из 5, страница 1 из 1
Кто знает как работать с ITransactionOutcomeEvents?
    #32017371
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В начале навыполнения транзакции MS SQL срабатывает триггер, который вызывает функцию в DLL (extended stored procedure). В этой DLL требуется проверить завершение транзакции прежде чем обработать данные пришедшие из триггера.

Это можно сделать с помощью интерфейса ITransactionOutcomeEvents ( API OLE DB ).
Помогите разобраться, как будет выглядеть фрагмент кода, осуществляющий это.

Заранее благодарен!

apmix@chat.ru
...
Рейтинг: 0 / 0
Кто знает как работать с ITransactionOutcomeEvents?
    #32017402
Проверять ничего не нужно. Транзакция гарантировано не закончится, пока не завершится работа триггера, а триггер не завершится, пока не произойдет возврат из функции из DLL.
...
Рейтинг: 0 / 0
Кто знает как работать с ITransactionOutcomeEvents?
    #32017404
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, Глеб!
...
Рейтинг: 0 / 0
Кто знает как работать с ITransactionOutcomeEvents?
    #32017406
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я неточно сформулировал задачу. Эта DLL передает данные другой программе ( по TCP ) и ВОЗВРАЩАЕТ управление триггеру. И в той другой программе уже нужно дождаться завершения транзакции или её отмены. Вот в этом случае как воспользоваться ITransactionOutcomeEvents?
...
Рейтинг: 0 / 0
Кто знает как работать с ITransactionOutcomeEvents?
    #32017416
А транзакция точно "distributed"? Это интерфейс только для них.

Можно попробовать другой путь, менее тернистый. Той программе передаешь ID-транзакции, взятый из srv_getbindtoken (ODS API) или из sp_getbindtoken. А программа пытается присоединиться к контексту транзакции, вызывая sp_bindsession. Если удается, значит, транзакция еще есть, если не удается, значит, транзакция уже закончена.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Кто знает как работать с ITransactionOutcomeEvents?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]