Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Проверка соединения с бд через ADO


Автор: ALTOMAN 13.2.2006, 10:38
У меня в программе есть следующий код, он должен проверять статус соединения с БД
if (ADOC.ConnectionString<>'') and (not ADOC.Connected) then
begin
bErr:= False;
try
ADOC.Connected:=True;
except
On EDatabaseError do bErr:=True;
end;
if F_PC<>not bErr then
if not bErr then
begin
NewSysMsg(MES_PASS_CENTR_LINK_OK,0);
F_PC:=true;
end
else
begin
NewSysMsg(MES_PASS_CENTR_LINK_BAD,0);
F_PC:=false;
end;
end;
Но есть одна загвоздка, когда выдергиваем сетевой кабель ADOC или отключаем сетевой интерфейс, Connected не меняется, соединение Активно!!!
Помогите!!! Как проверить есть ли связь с базой данных???
Работаю с Delphi 6 и Oracle 8.1.7

Автор: Vas 13.2.2006, 11:21
Х.з. разве что попробовать послать простой запрос, типа:
Код

select 1234 from dual

Ну и смотреть что получится, смотреть что за ошибка и определять что делать далее.

Автор: SergeBS 13.2.2006, 11:52
ALTOMAN
Цитата

Но есть одна загвоздка, когда выдергиваем сетевой кабель ADOC или отключаем сетевой интерфейс, Connected не меняется, соединение Активно!!!

Подождать просто надо (30 сек. default) - станет пассивно и т.д. И keep connected посмотри.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)