Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Функция @@TRANCOUNT  [new]
danton
Member

Откуда:
Сообщений: 170
Добрый день. Sql Server 2008 r2 Developer Edition

Выполняю выгрузку репорта из данных из 1С в MSSQL.
В трассе подряд чередуются:

INSERT(...)
VALUES(...)


И:

IF @@TRANCOUNT > 0 ROLLBACK TRAN 


Данные в MSSQL не попадают.
Я правильно понимаю, что транзакции откатываются?
Если да, то какие могут быть причины?
25 июл 12, 12:50    [12913361]     Ответить | Цитировать Сообщить модератору
 Re: Функция @@TRANCOUNT  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
это может быть связано с тем, что @@TRANCOUNT > 0
25 июл 12, 12:55    [12913391]     Ответить | Цитировать Сообщить модератору
 Re: Функция @@TRANCOUNT  [new]
iap
Member

Откуда: Москва
Сообщений: 47052
danton,

видимо, имелось в виду "откатываются, если не закоммитились"

А вот где транзакция начинается и где коммитится, - отсюда не видно.
Кроме того, ничего неизвестно о состоянии XACT_ABORT и IMPLICIT_TRANSACTIONS
Триггеры у таблицы есть? Что в них происходит?
25 июл 12, 12:56    [12913394]     Ответить | Цитировать Сообщить модератору
 Re: Функция @@TRANCOUNT  [new]
danton
Member

Откуда:
Сообщений: 170
iap
danton,

видимо, имелось в виду "откатываются, если не закоммитились"

А вот где транзакция начинается и где коммитится, - отсюда не видно.
Кроме того, ничего неизвестно о состоянии XACT_ABORT и IMPLICIT_TRANSACTIONS
Триггеры у таблицы есть? Что в них происходит?


Нет триггеров.

XACT_ABORT OFF
IMPLICIT_TRANSACTIONS OFF
25 июл 12, 13:10    [12913515]     Ответить | Цитировать Сообщить модератору
 Re: Функция @@TRANCOUNT  [new]
danton
Member

Откуда:
Сообщений: 170
Зайцев Фёдор
это может быть связано с тем, что @@TRANCOUNT > 0


Очень может быть,товарисч
25 июл 12, 13:11    [12913524]     Ответить | Цитировать Сообщить модератору
 Re: Функция @@TRANCOUNT  [new]
invm
Member

Откуда: Москва
Сообщений: 9646
Добавьте в трассу отслеживание события Exception.
25 июл 12, 13:12    [12913531]     Ответить | Цитировать Сообщить модератору
 Re: Функция @@TRANCOUNT  [new]
danton
Member

Откуда:
Сообщений: 170
invm
Добавьте в трассу отслеживание события Exception.


После инсерта выпадает Excaption:

Error: 515, Severity: 16, State: 2
25 июл 12, 13:21    [12913601]     Ответить | Цитировать Сообщить модератору
 Re: Функция @@TRANCOUNT  [new]
invm
Member

Откуда: Москва
Сообщений: 9646
Ошибка 515 -- не удалось вставить значение NULL...
Смотрите полное сообщение об ошибке, чтобы узнать в какой столбец.
25 июл 12, 13:25    [12913627]     Ответить | Цитировать Сообщить модератору
 Re: Функция @@TRANCOUNT  [new]
danton
Member

Откуда:
Сообщений: 170
invm,

Да уже посмотрел.
Именно в этом и была ошибка, и главное никаких ошибок в 1С, идет себе выгрузка и все.
А транзакции в MSSQL откатываются...
25 июл 12, 13:30    [12913663]     Ответить | Цитировать Сообщить модератору
 Re: Функция @@TRANCOUNT  [new]
invm
Member

Откуда: Москва
Сообщений: 9646
danton,

При XACT_ABORT OFF и severity 16 транзакции сами собой не откатываются. А когда сервер сам откатывает транзакцию, rollback в профайлере не виден. Так что откат приходит с клиента.
25 июл 12, 14:38    [12914106]     Ответить | Цитировать Сообщить модератору
 Re: Функция @@TRANCOUNT  [new]
danton
Member

Откуда:
Сообщений: 170
invm,

А если бы не было отката от клиента.
То транзакция бы не откатывалась...
И что бы мне попадало в поле NOT NULL, в которое пытались попасть NULL-ы?
25 июл 12, 14:56    [12914238]     Ответить | Цитировать Сообщить модератору
 Re: Функция @@TRANCOUNT  [new]
invm
Member

Откуда: Москва
Сообщений: 9646
danton,

Ничего бы не попало. Ограничения проверяются до, а не после.
25 июл 12, 16:27    [12914944]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить