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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу остановить Асинхронное соединение (ADO), Connection 
:(
    Опции темы
tofik
Дата 14.5.2004, 18:27 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Так осуществляю соединение:

Код
Conn_String = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=MyDataBase;Data Source=server"  

Set Conn = New ADODB.Connection  
Conn.ConnectionString = Conn_String
Conn.ConnectionTimeout = 10  
Conn.CommandTimeout = 10  
Conn.Open Conn_String, , , adAsyncConnect


Если соединение происходит удачно, я свободно отключаюсь:

Код
Conn.Close


Но если сервера с именем "server" нет, попытка соединения будет длиться до таймаута
Допустим я не хочу ждать и делаю попытку отменить соединение:

Код
Conn.Cancel


это, как я полагаю верный способ! Однако выполнение проги останавливается на этом операторе и точно также слетает только после таймаута
Почему???
Я как то не корректно выполняю асинхронное соединение?

  Вверх
Guest
Дата 21.5.2004, 11:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ну что, народ, никто не в силах помочь мне в моей проблемме?
Помоему это действительно проблемма, и я конечно не спорю что моя, но возможно и "вижал басика". Попробуйте!
Если получиться, отпишитесь как сделали,
буду крайне признателен за помощь!
  Вверх
Akina
Дата 21.5.2004, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Ожидание коннекта (или тайм-аута) выполняется не программой, а операционной системой. А программа в это время спит и ждет пока ОС ей отдаст коннект либо сообщение о тайм-ауте. Чего тут удивительного?


Это сообщение отредактировал(а) Akina - 21.5.2004, 13:01


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

PM MAIL WWW ICQ Jabber   Вверх
Guest
Дата 21.5.2004, 14:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я имею в виду асинхронное соединение!
  Вверх
Naghual
Дата 21.5.2004, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Ну правильно.
Движок БД пытается установить соединение, и в то-же время передает управление к твоей програмке. Но сам движок то еще пытается!
И вот ты даеш ему следующую команду (не поддерживающую асинхронное выполнение себя самой). Выполнена она будет только после того, как завершится выполнение первой (на соединение).



--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Guest
Дата 24.5.2004, 10:22 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Тогда для чего же нужен метод CANCEL???
При каких условиях он будет работать?

  Вверх
Naghual
Дата 24.5.2004, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Мда...
Про CommandTimeout

А вот так:

Conn.CommandTimeout = 0
Conn.ConnectionTimeout = 10



Это сообщение отредактировал(а) Naghual - 24.5.2004, 10:50


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Guest
Дата 25.5.2004, 13:24 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Пока подключение в процессе в Conn.State сидит строка:
"[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied."
И из-за этого весь гемор по ходу!

И даже так:
Conn.CommandTimeout = 0
Conn.ConnectionTimeout = 10
Тоже самое!!!

  Вверх
Naghual
Дата 27.5.2004, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



А сервис пак на VB ставил?
И какой верси у тебя движок БД?


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Guest
Дата 27.5.2004, 22:19 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











на VB-SP6
c SP5 было тоже самое
ADO 2.7
MS SQL Server 2000


  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

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

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

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

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


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

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


 




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


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

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