Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.11.28;
Скачать: [xml.tar.bz2];

Вниз

Здраствуйте. Где ловить ошибки при работе с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
14-93235
karel
2002-11-10 01:17
2002.11.28
вопрос


14-93258
Дремучий
2002-11-11 14:07
2002.11.28
Кто заводил себе домен? Хвастайтесь!


14-93212
VID
2002-11-10 01:38
2002.11.28
KGSDBMediaPlayer component


1-93058
Lony
2002-11-16 00:24
2002.11.28
Как создать в Run-Time пункт в TPopUpMenu?


14-93254
Fredericco
2002-11-11 13:22
2002.11.28
Кто участвовал в переписи населения 2002 откликнитесь!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский