У меня есть две таблицы:
- Недвижимость
- Property_Localize
и SP для удаления записи из свойства:
- (Delete_SP)
У меня есть триггер, который срабатывает. Вместо удаления записей из свойства сначала удаляются связанные записи из таблицы Property_Localize
, а затем удаляются записи из таблицы свойств.
Property table's
первичный ключ также используется в некоторой другой таблице в качестве внешнего ключа.
Сейчас мы пытаемся удалить запись из Delete_SP.
Если с таблицей property
связана запись в любой другой таблице, она выдает исключение, это исключение обрабатывается в try..catch block
, поэтому в любом случае SP возвращает некоторое значение по умолчанию в выходном параметре и успешно выполняется.
Это работает абсолютно нормально, если мы запустим этот SP с сервера (SQL Server Management Studio).
Но когда мы запускаем этот SP с asp.net, он выдает следующую ошибку:
"В конце пакета обнаружена незафиксированная транзакция.
транзакция откатывается. "
Хотя это дает правильный выходной параметр.
Мы также пытаемся добавить try catch и явный блок транзакции в триггер, но он по-прежнему выдает ту же ошибку.
Любая помощь будет оценена.
Я забыл упомянуть, я использую слой базы данных CodeSmith.