Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как восстановить утеренное подключение mysql 
:(
    Опции темы
admsasha
Дата 24.8.2011, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 28.1.2005

Репутация: 1
Всего: 6



Делаю подключение к mysql базе
Код

      Set DB = New ADODB.Connection
      DB.Open
Всё хорошо работает. 

Но если пропадет связь (между сервером и клиентской частью) , программа выдаст "MySQL server has gone away". Это тоже нормально. Как восстановить теперь подключение ?

пробывал уже даже так
Код

   If DB.State = 1 Then DB.Close
   Set DB = Nothing
   Set DB = New ADODB.Connection
   DB.Open

эффекту не дало 

DB.Execute падает в исключение с сообщением "MySQL server has gone away". Помогает только перезапуск программы.


Это сообщение отредактировал(а) Akina - 24.8.2011, 11:27
PM MAIL WWW ICQ Jabber   Вверх
DviRUS
Дата 24.8.2011, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Капыч
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 24.10.2006
Где: Волгоград

Репутация: нет
Всего: 5



А если закрывать подключение после каждой команды и открывать для выполнения новой? Похоже база остаётся открытой при обрыве связи...


--------------------
Это не только мерзко, но и невозможно! (с)
PM MAIL ICQ Skype   Вверх
admsasha
Дата 24.8.2011, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 28.1.2005

Репутация: 1
Всего: 6



Цитата(DviRUS @  24.8.2011,  17:47 Найти цитируемый пост)
А если закрывать подключение после каждой команды и открывать для выполнения новой? Похоже база остаётся открытой при обрыве связи...
 Есть 100 разных функций, создавать 100 подключений к базе ?

Это сообщение отредактировал(а) admsasha - 24.8.2011, 10:56
PM MAIL WWW ICQ Jabber   Вверх
DviRUS
Дата 24.8.2011, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Капыч
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 24.10.2006
Где: Волгоград

Репутация: нет
Всего: 5



А почему нет? Они же не будут постоянно открыты... Но это как вариант, тормозить будет, но работать.


--------------------
Это не только мерзко, но и невозможно! (с)
PM MAIL ICQ Skype   Вверх
admsasha
Дата 24.8.2011, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 28.1.2005

Репутация: 1
Всего: 6



Интересно, тогда, услышать как правильно это делается ?  Сейчас уже всё  и так работает. Но хочется правильно и рационально. Ведь на тоже подключение тратиться время, ресурсы.
PM MAIL WWW ICQ Jabber   Вверх
Akina
Дата 24.8.2011, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Не надо создавать новый коннекшен. Надо переоткрывать существующий.
А если это приводит к падению приложения - то вопорсы к коннектору, а не к VB и не к ADO.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
admsasha
Дата 24.8.2011, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 28.1.2005

Репутация: 1
Всего: 6



т.е. это делаю единожды
Set DB = New ADODB.Connection

, а потом в процедурах
DB.open
....
DB.close

так ?
PM MAIL WWW ICQ Jabber   Вверх
Akina
Дата 24.8.2011, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(admsasha @  24.8.2011,  13:29 Найти цитируемый пост)
т.е. это делаю единожды
Set DB = New ADODB.Connection

А смысл? почему не сразу Dim DB As New ADODB.Connection?




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
admsasha
Дата 24.8.2011, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 28.1.2005

Репутация: 1
Всего: 6



public DB As New ADODB.Connection ?
Или я всё же чего то не понял ?

Это сообщение отредактировал(а) admsasha - 24.8.2011, 12:43
PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.3411 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.