Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Check connected к BD как? [D6, MySQL]


Avgust ©   (2006-06-28 08:35:00) 

Hi!
использую MySql + Delphi и компонннент MySQLDAC Trial... плиз подскажите как переодически проверять есть ли соединение с базой?... спасибо.


Johnmen   (2006-06-28 14:08:00) [1]

>Avgust

Единственный способ проверить коннект, это что-то спросить в рамках коннекта и получить ответ.
На твоём уровне разработчика это выполнить запрос.


Avgust   (2006-06-28 14:06:00) [2]


> Этот код компилируется?


да бес проблем... (вазможно в этом орфография и синтакс нарушен писал от руки) а так бес проблем.. компилица... для простоты понимания я его упростил... а так  проверку в потоке запускать хачу.

мне надо чтобы програмка пастаянно коннект держала и отследивала изменения в таблице... и если сервер (он в Lan) перезагрузится (а такое бывает + хабы парой виснут.. пока сисоп пробежит перезагрузит их ) то сама бы опять к базе конектилась... вот и пытаюсь типа мониторинга сделать а опыта Delphi + MySql у меня минимум :(

Может кто решал такии задачи?

.


Sergey13   (2006-06-28 13:54:00) [3]

> [6] Avgust   (28.06.06 13:44)

Этот код компилируется?


Avgust   (2006-06-28 13:44:00) [4]


> Т.е. ты тормозишь сервер, а запрос по прежнему открывается?


по крайнеймере ошибки не возникает..

может не так делаю..

кусок кода примерно такой:

MyQuery.SQL.ADD('select * from tect LIMIT 1;');

try
 MyQuery.Open;
execyte
 err := 1;
end;

if err = 1 then
 begin
  try
   MyBd.Connekt := true;
  execyte
   err := 1;
  end;
 end;
...


Sergey13   (2006-06-28 13:15:00) [5]

> [4] Avgust   (28.06.06 13:07)

Т.е. ты тормозишь сервер, а запрос по прежнему открывается?


Avgust   (2006-06-28 13:07:00) [6]


> Почему почемуто?


ну опен не вазращяет ошибку... пакрайней мере в MySQLDAC Trial.. тоесть делаем MyQ.SQL.Add( 'SELECT * from test LIMIT 1;');
и отсылаем Open;

 try
  MQ.Open;
 except
  вот здесь нет ошибки!
 end;

 а делаю так.. канекчусь к базе... патом убиваю этот сервис...

а вот update или insert ошибка есть... что же мне постоянно обновлять данные в таблице что бы узнать есть соединение или отвалилась...

вот по этому и паказалась :)


> А если есть, то это типа как?


ну как MyDb.ping вазращяет 1 если база есть или 0 если нет..


Johnmen   (2006-06-28 09:36:00) [7]


> но почемуто показалась неправильной


Почему почемуто?


> может быть есть типа ping


А если есть, то это типа как?


Avgust   (2006-06-28 09:20:00) [8]


> Попыткой выполнить к.-л. запрос...


 запрос в таблицу?... была такая идея... но почемуто показалась неправильной... может быть есть типа ping... (весьмануал перерыл по этому компоненту ни чё не нашёл :(( )


Johnmen   (2006-06-28 09:02:00) [9]

Попыткой выполнить к.-л. запрос...


Наверх

Титульная страница Поиск, карта сайта Написать письмо