Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.28;
Скачать: CL | DM;

Вниз

Здраствуйте. Где ловить ошибки при работе с TStroredProc?   Найти похожие ветки 

 
Oleon   (2002-11-06 15:20) [0]

Такая проблемма. Если я с помощью компонента StoredProc запускаю процедуру то когда например при удалении возникает ошибка

Server: Msg 547, Level 16, State 1, Line 1
DELETE statement conflicted with TABLE REFERENCE constraint "FK0_tbEventC". The conflict occurred in database "dolphin", table "tbEventC".
The statement has been terminated.

То компонент ее никуда не возвращает. Как с этим бороться?
Спасибо.


 
Johnmen ©   (2002-11-06 16:10) [1]

Ошибка нарушения ссылочной целостности при попытке удалить запись с PK из мастер табл. при наличии записей с FK в детейл табл.
Обработка ошибки как обычно :
try
<вызов ХП>
except
...
end


 
Oleon   (2002-11-06 17:08) [2]

Так вот в том то и дело, что StoredProc.ExecProc; не выдает исключительной ситуации. А проходит как-будто ничего не было. Просто процедура на сервере не выполняется и все.


 
asmith   (2002-11-07 12:36) [3]

Этого не может быть. Посмотри внимательнее на свой код - ты где-то "молча" обрабатываешь exception, поэтому нет и сообщения.


 
BlackTiger   (2002-11-07 16:36) [4]

Может быть ты действительно твой try находится внутри еще одного try, хотя вряд ли.

Скорее всего, либо в теле самой SP находится подавление ошибок выполнения (скорее всего), либо она выполняется асинхронно и результата твоя прога просто не получает.

Хммм... В принципе SP может 1) не возвращать ничего; 2) вернуть набор данных; 3) вернуть список сообщений, а не записей.
Умом понимаю, но понятия не имею где выцепить список сообщений.
Где-то должно это быть. Посмотри, как работает "Query Analyzer" - у него два типа выхода - данные и сообщения. Может тут собака и порылась.


 
Oleon   (2002-11-08 00:07) [5]

Использую компоненты Zeos там какой-то хитрый компонент есть Transact. Я не знаю может он гасит все ошибки появляющиеся. Я посмотрю, проверю. Хотя если запускать процедуру через Query, то все ошибки появляются как надо. Т.е. если написать в Query
"exec <имя процедуры> <параметры>. Все норамльно с try except обрабатывается. Но если ту же самую процедуру с теми же самыми параметрами запустить через StoredProc(правда компонент от Zeos) то никаких ошибок не выдает и все.


 
Александр Спелицин ©   (2002-11-08 17:33) [6]

Такое происходило при использовании ADO в работе с MSSQL через OLE DB provider for MSSQL. Если в качестве провайдера использовать OLE DB provider for ODBC, то все ошибки прекрасно передаются клиенту.



Страницы: 1 вся ветка

Текущий архив: 2002.11.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
1-92971
Южанин
2002-11-15 14:25
2002.11.28
не работает стандартная функция LeftStr() и RightStr()


14-93233
lak
2002-11-07 00:57
2002.11.28
Punto Switcher для Delphi


1-93042
Adrian_Copil_Minune
2002-11-19 12:26
2002.11.28
Где баг???


14-93190
Anatoly Podgoretsky
2002-11-08 23:17
2002.11.28
Именинники 9 ноября


1-93097
brestmarket
2002-11-16 03:04
2002.11.28
Вызов из Word приложения Delphi?