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

Вниз

Firebird + FIBPlus - обработка ошибок подключения   Найти похожие ветки 

 
Yrtimd   (2005-11-17 00:30) [0]

// Delphi 7, FIBPlus 6.25, Firebird 1.5.2

Try
 DB.Open; // DB: TpFIBDatabase
Except
 on EFIBError do begin
   MessageDlg ("Какая-то ошибка!");
 end;
End;

Используя данный код, при ошибке подключения к БД, нельзя  установить конкретную причину (нет связи с сервером, автоизация, не найдена база данных и пр.).
Как обрабатывать ошибку, чобы выявить конкретную причину?


 
YuRock ©   (2005-11-17 10:29) [1]

В IBX делается так:

Try
DB.Open; // DB: TpFIBDatabase
Except
on E: EIBError do Err( Format( "ErrorCode: %d, SQLErrorCode: %d, Error: "%s"", [ E.IBErrorCode, E.SQLCode, E.Message ] ) );
End;


Может, поможет... В FIB не знаю.


 
Виталий Панасенко   (2005-11-17 10:38) [2]

EFIBError                  = class(EDatabaseError)
 private
   FSQLCode: Long;
   FIBErrorCode: Long;
   FSQLMessage :string;
   FIBMessage  :string;
   SenderObj :TObject;
 public
   constructor Create(ASQLCode: Long; const aMsg: String;Sender:TObject);
   constructor CreateEx(ASQLCode: Long; const IBMsg,SQLMsg: String;Sender:TObject);
   property    SQLCode    : Long read FSQLCode ;
   property    IBErrorCode: Long read FIBErrorCode ;
   property    SQLMessage :string read FSQLMessage;
   property    IBMessage  :string read FIBMessage;
 end;


 
Yrtimd   (2005-11-17 20:44) [3]

Спасибо. Но необходимо не получить описание ошибки, а дифференцировать обработчик исключения таким образом:
case E of
 сервер не найден: do ...
 база не найдена: do ...
 ошибка авторизации пользователя: do ...
end;


 
YuRock ©   (2005-11-17 22:32) [4]

Автор, читай, что тебе пишут.

EFIBError.IBErrorCode и EFIBError.SQLCode ты думаешь просто так, ради объема тебе привели в примере?


 
Yrtimd   (2005-11-18 00:10) [5]

А откуда узнать значения кодов ?..



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

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

Наверх




Память: 0.47 MB
Время: 0.066 c
3-1132235404
CasperR
2005-11-17 16:50
2006.01.15
ODAC for Delphi 2005


6-1127837051
maVladimir
2005-09-27 20:04
2006.01.15
Многопоточная закачка файлов


6-1122450032
Eugene V.
2005-07-27 11:40
2006.01.15
IdHTTP (Indy 10, Delphi 2005)


2-1135633583
Danja
2005-12-27 00:46
2006.01.15
Pen.Color хочу изменить цвет!


4-1131107280
Bless
2005-11-04 15:28
2006.01.15
Копирование файлов по сети.