MySQL разрыв соединения

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
JIeT4uK
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 145
Зарегистрирован: 23.03.2003 (Вс) 4:48
Откуда: Украина, Донецк

MySQL разрыв соединения

Сообщение JIeT4uK » 20.06.2005 (Пн) 6:39

как можно проследить разрыв связи с базой, есть ли какое то событие, Я идиот! Убейте меня, кто-нибудь!

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 20.06.2005 (Пн) 15:51

Зависит от того, чем ты подключаешься. В ADO есть возможность ловить события соединения:
Код: Выделить всё
Public WithEvents Conn As ADODB.Connection

В результате у тебя появляется возможность обработать сразу 2 довольно полезных события:
Код: Выделить всё
Private Sub Conn_Disconnect(adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)

End Sub

Private Sub Conn_InfoMessage(ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)

End Sub

Ну а вообще, должна рэйзиться стандартная ошибка, просто номер запомнить именно для случая разрыва связи, ну и обрабатывать его отдельным способом.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 20.06.2005 (Пн) 16:26

Ennor, насколько я помню, к MySQL нет OLEDB-драйверов, только ODBC. Я точно не помню, но помоему в ODBC есть какие-то проблемы с регистрацией событий.
Lasciate ogni speranza, voi ch'entrate.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 20.06.2005 (Пн) 16:39

OLE DB для MySQL есть , но он какой-то глючный и не все позволяет делать.

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 22.06.2005 (Ср) 16:12

alibek писал(а):Ennor, насколько я помню, к MySQL нет OLEDB-драйверов, только ODBC. Я точно не помню, но помоему в ODBC есть какие-то проблемы с регистрацией событий.

Не знаю, как там у мускула с этим делом, но ODBC-драйвер для MS SQL Server прекрасно файрит события на соединении. Я сейчас как раз пишу пример по отлову событий - отлично все работает. Единственное, что я заметил - чуть заторможенная реакция по сравнению с OLEDB, но это может быть субъективное впечатление, нужно QueryPerformanceCounter() подключать.

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 23.06.2005 (Чт) 16:26

Как и обещал, написал и прикладываю. Написано под MSSQL 7/2000, если у кого что другое - поменяйте имена провайдеров, драйверов и специфичный код запросов на свои и смотрите, как это работает.

Лично мне это нравится все больше и больше: идеальный механизм для ведения логов - первое, что приходит в голову. Ну а дальше... кому что.
У вас нет доступа для просмотра вложений в этом сообщении.


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 2

    TopList  
cron