Обработка ошибки при подключении к БД на сервере

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Kytx
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 26.07.2004 (Пн) 18:43

Обработка ошибки при подключении к БД на сервере

Сообщение Kytx » 01.12.2010 (Ср) 1:45

Код: Выделить всё
sub Подключение ()
      On Error GoTo Обработка

      ' Открытие соединения в другой процедуре
      conn.ConnectionString = "Driver={MySQL ODBC 5.1 Driver};Server=*;Database=*;User=*; Password=*; Persist Security Info=True;"
      conn.Open

ДоОткрытия:
      tabl.ActiveConnection = conn
      tabl.Source = "SELECT * FROM users"
      tabl.Open

      ....

      exit sub
Обработка:
      conn.Close
      conn.ConnectionString = "Driver={MySQL ODBC 5.1 Driver};Server=*;Database=*;User=*; Password=*; Persist Security Info=True;"
      conn.Open
      Resume ДоОбработки
end sub


Есть процедура, в которой открывается подключиение к базе данны на сервере и считывается информация из таблицы users.
Время от времени при "tabl.Open" возникает ошибка (runtime error -2147217887).

Возникла ситуация, когда обработка ошибки не помогла, и программа ушла в бесконечный цикл.
Через секунду программа была перезапущена, и все прошло отлично.

Может кто-нибудь посоветовать как улучшить обработку данной ошибки?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Обработка ошибки при подключении к БД на сервере

Сообщение Хакер » 01.12.2010 (Ср) 1:51

Kytx писал(а): (runtime error -2147217887).

Пользовательское пространство номеров ошибок COM/ActiveX не регламентировано. Поэтому этому номеру может в теории соответствовать бесконечное число разных ошибок с разными формулировками.

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

Kytx писал(а):Может кто-нибудь посоветовать как улучшить обработку данной ошибки?

Без знания сути ошибки (и как следствия хорошей методики её устранения) можно сказать только одно: в таких ситуациях вводится параметр предельное количество попыток повторить неудавшееся действие. Тогда бесконечно цикла не будет.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Kytx
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 26.07.2004 (Пн) 18:43

Re: Обработка ошибки при подключении к БД на сервере

Сообщение Kytx » 14.01.2011 (Пт) 2:00

Время от времени возникает следующие ошибки:

Run-time error '-214217887 (80040e21)':
Драйвер ODBC не поддерживает требуемые свойства

и эта:

Run-time error '-2147467259 (80004005)':
[MySQL][ODBC 5.1 Driver][mysqld-5.0.77-log]MySQL server has gone away

Вторая вроде бы решается переоткрытием заново соединения с базой данных.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Обработка ошибки при подключении к БД на сервере

Сообщение Antonariy » 14.01.2011 (Пт) 23:13

MySQL server has gone away
Куда уходит цирк? (с) 8)
Лучший способ понять что-то самому — объяснить это другому.


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: AhrefsBot и гости: 95

    TopList