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

Вниз

Перехватить сообщение об ошибке Oracle   Найти похожие ветки 

 
lightix   (2003-08-12 11:30) [0]

Юзаю Oracle через компоненты NCOCI
Подскажите как можно перехватить сообщение об ошибке, при этом узнать номер ошибки (ORA-XXXXX) и выдать свое сообщение в зависимости от номера?


 
Reindeer Moss Eater ©   (2003-08-12 11:33) [1]

Смотри в документацию к своим компонентам и изучай классы генерируемых исключений, если у них они есть.


 
asp ©   (2003-08-12 14:13) [2]

Я к DB2 подхожу след. образом:
Пишу "перехватчик" ошибок.

procedure TMainForm.AppEvents1Exception(Sender: TObject; E: Exception);
const
DB2ErrorID = "[IBM][CLI Driver][DB2/NT]";
begin
if (Pos(DB2ErrorID, E.Message) > 0) then
begin
if not(Assigned(DB2ErrorForm)) then
DB2ErrorForm:= TDB2ErrorForm.Create(Application);
DB2ErrorForm.DBException:= E as EDBEngineError;
try
DB2ErrorForm.ShowModal
finally
DB2ErrorForm.Free;
DB2ErrorForm:= nil
end
end else
Application.ShowException(E)
end;

Форма DB2ErrorForm имеет метод легкого синтаксического анализа текста сообщения об ошибке, вытаскивая из него номер и пр. полезную информацию. Ведь все сообщения от СУБД имеют одинаковую структуру.


 
Shur ©   (2003-08-18 20:32) [3]

тебе еще надо? ответь, полистаю исходники!!!!



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
4-24743
VD601
2003-07-07 16:34
2003.09.08
Кто ловит WM_QUIT?


1-24485
Вит
2003-08-27 15:03
2003.09.08
Неверная строка с указанием имени класса


6-24596
INTAARI
2003-07-02 12:59
2003.09.08
Не удается прочитать строку из сети протоколом UDP


14-24614
3APA3A
2003-08-21 16:55
2003.09.08
С целью повышения образованности...


4-24754
Islander
2003-07-09 11:31
2003.09.08
Альтернатива createprocess