powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / MSSQL 2000 Не возвращаются ошибки из хранимых процедур
12 сообщений из 12, страница 1 из 1
MSSQL 2000 Не возвращаются ошибки из хранимых процедур
    #32035250
Underking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может я как-то и задавал этот вопрос, но до сих пор не победил проблему. Вообщем из одной хранимой процедуры вызывается другая, в той происходит ошибка, ее можно увидеть если запустить программу из Query Analyzer, но клиентское приложения (Delphi 5) не всегда получает это сообщение. Причем в той процедуре есть команда INSERT. Если до него поставить RAISERROR, то ошибка вернется клиенту, если после, то уже не возвращается.
Что можно сделать?
...
Рейтинг: 0 / 0
MSSQL 2000 Не возвращаются ошибки из хранимых процедур
    #32035275
Alex Alexeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это проблема 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
MSSQL 2000 Не возвращаются ошибки из хранимых процедур
    #32035282
Underking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Alex Alexeev
Вторяя ссылка моя, КАА - это мой ник, просто если он занят, я регистрируюсь как Underking. :)

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

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

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

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

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

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

А можно поменять структуру таблицы добавив констрайнты на NOT NULL и/или прописав значения по-умолчанию (0 ?)
...
Рейтинг: 0 / 0
MSSQL 2000 Не возвращаются ошибки из хранимых процедур
    #32035311
Underking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В связи с особенностями моей базы, NULL - допустимое значение и оно вполне может попадать в некоторые функции, не нарушая при этом логику работы программы.
Надо чтоб просто не выскакивало сообщение. Учитывая что других варнингов у меня как правило не выскакивает, наверно и имеет смысл все отключить. Или черевато чем-то?
...
Рейтинг: 0 / 0
MSSQL 2000 Не возвращаются ошибки из хранимых процедур
    #32035313
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / MSSQL 2000 Не возвращаются ошибки из хранимых процедур
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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