Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / MSSQL 2000 Не возвращаются ошибки из хранимых процедур / 12 сообщений из 12, страница 1 из 1
04.07.2002, 20:52:13
    #32035250
Underking
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSSQL 2000 Не возвращаются ошибки из хранимых процедур
Может я как-то и задавал этот вопрос, но до сих пор не победил проблему. Вообщем из одной хранимой процедуры вызывается другая, в той происходит ошибка, ее можно увидеть если запустить программу из Query Analyzer, но клиентское приложения (Delphi 5) не всегда получает это сообщение. Причем в той процедуре есть команда INSERT. Если до него поставить RAISERROR, то ошибка вернется клиенту, если после, то уже не возвращается.
Что можно сделать?
...
Рейтинг: 0 / 0
05.07.2002, 07:22:59
    #32035275
Alex Alexeev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSSQL 2000 Не возвращаются ошибки из хранимых процедур
Это проблема Delphi.
Чтобы здесь не обсуждать дельфийские глюки держи две ссылки как раз про это :
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1024036737&n=1
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1025716347&n=1
...
Рейтинг: 0 / 0
05.07.2002, 09:33:34
    #32035282
Underking
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSSQL 2000 Не возвращаются ошибки из хранимых процедур
>Alex Alexeev
Вторяя ссылка моя, КАА - это мой ник, просто если он занят, я регистрируюсь как Underking. :)

Даже если это проблема Delphi, было бы крайне неплохо решить ее средствами MSSQL, если конечно это возможо, ибо клиент на делфи пишу не я. По крайней мере я должен убедиться, что средствами MSSQL проблему решить нельзя.
...
Рейтинг: 0 / 0
05.07.2002, 09:43:44
    #32035284
Alex Alexeev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSSQL 2000 Не возвращаются ошибки из хранимых процедур
А первая ссылка - моя :))

Я тоже долго с этим воевал, но к счастью клиента пишет товарищ за соседним столом.

А если так необходимо решить это в хранимке, то генери ошибки ДО выполнения операций изменения данных
...
Рейтинг: 0 / 0
05.07.2002, 10:30:01
    #32035289
Underking
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSSQL 2000 Не возвращаются ошибки из хранимых процедур
Клиент тоже товаищ за соседним столом, но от меня хотят, чтоб сервер делал как можно больше, а клиент как можно меньше.

Собственно говоря у меня из одной процедуры вызывается толпа других. И ошибки уже не возвращаются из других процедур. INSERT отработал и все хорошо, но ошибка произошла уже в другой процедуре. Если вызов процедуры с INSERT убрать, то там ошибка попадет клиенту.
...
Рейтинг: 0 / 0
05.07.2002, 10:33:05
    #32035290
Rom
Rom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSSQL 2000 Не возвращаются ошибки из хранимых процедур
Может попробовать на выходе каждой процедуры возвращать параметр, который бы сигнализировал об успешном/неуспешном выполнении процедуры, типа
returns 0 - нет ошибки, > 0 - ошибка (ее код)
...
Рейтинг: 0 / 0
05.07.2002, 10:53:24
    #32035293
Underking
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSSQL 2000 Не возвращаются ошибки из хранимых процедур
Вообщем многие процедуры у меня возвращают какие-либо данные, по которым можно сделать вывод, отработала ли процедура. Но там есть масса проверок, каждая из которых генерит свое сообщение об ошибке. Его бы и вернуть.
Кроме того ошибка несколько в другом. После выполнения процедуры с INSERT, сообщения об ошибке вообще перестают возвращаться как из вызываемых процедур, так и из вызывающих.
...
Рейтинг: 0 / 0
05.07.2002, 10:55:29
    #32035294
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSSQL 2000 Не возвращаются ошибки из хранимых процедур
Эта проблема лечится простановкой SET NOCOUNT ON в начале хранимой процедуры
...
Рейтинг: 0 / 0
05.07.2002, 11:26:24
    #32035302
Underking
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSSQL 2000 Не возвращаются ошибки из хранимых процедур
Тогда еще один вопрос, как можно сделать чтоб не появлялся варнинг "Warning: Null value is eliminated by an aggregate or other SET operation". А то его клиентское приложение как ошибку в try .. except перехватывает.
Нужно чтоб просто MSSQL не выдавал это сообщение.
...
Рейтинг: 0 / 0
05.07.2002, 11:40:46
    #32035304
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSSQL 2000 Не возвращаются ошибки из хранимых процедур
А это скорее всего происходит вычисление агрегатной функции на столбцах, которые содержат NULL.

Можно использовать SET ANSI_WARNINGS OFF, но тогда отключится вывод и некоторых других предупреждений

Можно проверять текущее значение с помощью ISNULL()

А можно поменять структуру таблицы добавив констрайнты на NOT NULL и/или прописав значения по-умолчанию (0 ?)
...
Рейтинг: 0 / 0
05.07.2002, 11:53:38
    #32035311
Underking
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSSQL 2000 Не возвращаются ошибки из хранимых процедур
В связи с особенностями моей базы, NULL - допустимое значение и оно вполне может попадать в некоторые функции, не нарушая при этом логику работы программы.
Надо чтоб просто не выскакивало сообщение. Учитывая что других варнингов у меня как правило не выскакивает, наверно и имеет смысл все отключить. Или черевато чем-то?
...
Рейтинг: 0 / 0
05.07.2002, 11:57:16
    #32035313
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSSQL 2000 Не возвращаются ошибки из хранимых процедур
IMHO лучше отключать только в конкретных процедурах посколько например

"When ON, divide-by-zero and arithmetic overflow errors cause the statement to be rolled back and an error message is generated. When OFF, divide-by-zero and arithmetic overflow errors cause null values to be returned."
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / MSSQL 2000 Не возвращаются ошибки из хранимых процедур / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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