Триггер не выдает сообщения об ошибке

Jaxtor

Господа! Помогите, если можете:Триггер не выдает сообщения при
RaisError
:
Create Trigger cl_Questions_ITrig
On dbo.cl_Questions
For Insert
As

RAISERROR('Trigger has been fired!', <b>16</b>, <b>1</b>)
Хотя вставка в таблицу происходит, триггер не выдает сообщения в программу.Перехвата Exception'a у меня здесь нет.А при запуске на INSERT через QueryAlalyzer все работает правильно. Thanks
24 ответа

Jaxtor

Хотя вставка в таблицу происходит, триггер не выдает сообщения в программу.
Вы весь текст триггера привели? Или та еще что-то есть. SET NOCOUNT ON в самом начале триггера поставьте. На чем клиент?


Jaxtor

DELPHI.Доступ через ADO


Jaxtor

SET NOCOUNT ON
не помогает.


Jaxtor

все должно работать!!! каким образом запрос на вставку с клиента отправляете? Что на сервер за инструкция уходит и как триггер отрабатывает смотрели?


Jaxtor

Инструкция такая поступает на сервер:
exec dbo.clsp_QuestionInsert '', <b>881</b>, <b>20706</b>, '', 'xxx-xx-xx, xxx-xx-xx, xxx-xx-xx(бух),xxx-xx-xx(ф), xxx-xx-xx(Алексей), xxx-xx-xx общ. отдел', <b>636</b>, <b>464</b>, <b>1</b>, 'TEST_11', NULL, NULL, NULL, NULL, <b>0</b>


Jaxtor

Что выдает:
SELECT OBJECTPROPERTY(OBJECT_ID('cl_Questions_ITrig'), 'ExecIsTriggerDisabled')
Инструкция такая поступает на сервер:
Ну так отрабоку тригера видно в профайлере?


Jaxtor

<b>0</b> - No column name
(<b>1</b> row(s) affected)


Jaxtor

А в процедуре несколько инструкций? В ней SET NOCOUNT ON есть?


Jaxtor

raiserror() with seterrorreturnend -- trigger


Jaxtor

set nocount on
у меня не было в процедуре...И похоже из-за этого программа не так работала!Спасибо за помощь, очень Вам благодарен.


Jaxtor

Да нет все у вас работало нормально


Jaxtor

А все-таки все равно ничего не работает ....рано я сказал спасибо.


Jaxtor

А все-таки все равно ничего не работает ....
Ну, тогда подробней описываете ваше ничего....


Jaxtor

set nocount onу меня не было в процедуре...И похоже из-за этого программа не так работала!
Вооб ще то и в триггер не мешает поставить этот set nocount on.


Jaxtor

При установке SET NOCOUNT ON в SP стало выдаваться сообщение:Warning: Null value is eliminated by an aggregate or other SET operation.


Jaxtor

Вот он триггер:
On dbo.cl_Questions
For Insert
As
set nocount on
	RAISERROR('Trigger has been fired!', <b>16</b>, <b>1</b>)
У меня INSERT делается в сериализуемой транзакции...Может и это как-то влияет?


Jaxtor

Так, и в процедуре и в триггере SET поставили. Как с клиента вызов идет?
Warning: Null value is eliminated by an aggregate or other SET operation.
Это предупреждение, что пустые значения не были учтены при аггрегировании.


Jaxtor

Дело в том, что в моем запросе еще вызываются SP... через Execв сериализуемой транзакции.P.S.А зачем клиенту видеть этот Warning message?Поэтому условие SET NOCOUNT ON в SP использовать мне не особо привлекает.


Jaxtor

Ну, если нам не веришь, то тогда FAQ


Jaxtor

а клиент этот Warning message и не увидит.


Jaxtor

А как же этот Warning я вижу?Через Client ведь!


Jaxtor

Пользователи же не в QA работают, так ведь?а в рекордсетах этих сообщений не будет.


Jaxtor

Повторяю, этот Warning message выдает моя программа написанная на DELPHI!:)


Jaxtor

Повторяю, этот Warning message выдает моя программа написанная на DELPHI!:)
Ну, дык и отсеки в дэлфях в эксепшенах все варнинги...