С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/29: Рейтинг темы: голосов - 29, средняя оценка - 4.97
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161

ADO Connection Timeout

31.05.2010, 16:58. Показов 5637. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ставил Connection Timeout значение меньшее, если SQL Server выключен или в паузе, то через это значение (5 секунд) срабатывает то то... А вот если машина, где сервак стоит недоступна (не пингуется то бишь выключена), то через заданное количество секунд не срабатывает операция... В чём косяк???
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.05.2010, 16:58
Ответы с готовыми решениями:

Окно Ado Connection
Есть одна мелочь, вроде несущественная, но портящая дизайн приложения. При запуске приложения с AdoConnrection выскакивает при самом...

ADO Database connection
здравствуйте у меня есть вопрос насчет ADO Database connection когда я подключаю mdb файл без пароля всё работает отлично когда я...

ADO Connection с SQL Server 2000
Вери нид хелп... Нужно, чтобы при доступе к базе данных через Builder 6 не запрашивался пароль и логин...Уже кучу опций в connectionstring...

18
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
31.05.2010, 17:11
с заданным ConnectionTimeout не срабатывает?
0
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
01.06.2010, 09:12  [ТС]
У меня тут вот так:

C++
1
2
3
4
5
6
7
8
9
10
11
ADOConnection1->ConnectionTimeout=3;
__try
{
ADOConnection1->Connected=true;
...
}
__except (GetExceptionCode()!=0)
{
ShowMessage("Облом");
dtct=true;
}
И если машина, где стоит сервер, выключена или перезагружается, то через заданное время сообщение не выдаётся...
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
01.06.2010, 09:20
4aynik, а вы пошагово смотрели? она вообще зависает в этом месте?
0
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
01.06.2010, 10:22  [ТС]
Пошагово пробовал, при недоступности машины с сервером на строке
C++
1
ADOConnection1->Connected=true;
естественно останавливается... в общем толи алгоритм кривой, толи чото с Connection Timeout... Потому что если просто сам SQL Server поставить на паузу или выключить, то норм, через заданное время сообщение появится...

Хотя есть ещё CommandTimeout, с ним также пробовал, не получается
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
01.06.2010, 10:27
4aynik, останаливается и все... больше никуда не идет вообще?
0
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
01.06.2010, 10:38  [ТС]
Через какое то время выдаёт сообщение, что сервер не существует или отсутствует доступ, но это сообщение внутреннее, билдеровское
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
01.06.2010, 10:42
4aynik, ну тогда есть простое решение - создаем таймер, выставялем ему интервал и в нем пишем нужный тебе пост и выпадаем из проги
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
01.06.2010, 10:53
использовать конструкцию _try-_catch а в блоке _catch отлавливать EOleDbError или как то так оно называется
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
01.06.2010, 11:08
4aynik, у вас в ситуации выключенного сервака таймаут соединения не будет срабатывать... потому что у меня такое ощущение, что работает он при отвечающем sql сервере, а при выключенном - тут уже таймауты сетевых протоколов вступают в силу... а он в винде они крайне настойчивы, что-то около 16 попыток, пока не выкинет исключение...
0
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
02.06.2010, 11:41  [ТС]
Не знаете, у ADOConnection есть в свойствах проверка на пинг? А то можно было бы в коде сделать проверку на пинг компа, где серв стоит...
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
02.06.2010, 12:10
4aynik, вряд ли там есть такое... самому можно это реализовать
0
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
02.06.2010, 16:36  [ТС]
Типа написать метод или функцию..?

Добавлено через 2 часа 22 минуты
Попробовал через вот такое условие

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
if (Timer1->Enabled==false)
  {
  Label1->Caption=TimeToStr(Time());
  Timer1->Enabled=true;
  }
  else
    {
    Timer1->Enabled=false;
    }
//ADOConnection1->ConnectionTimeout=3;
//ADOConnection1->CommandTimeout=5;
__try
  {
  ADOConnection1->Connected=true;
  ...
  }
  __except (Label1->Caption==TimeToStr(Time()+(0.0001625)))
    {
    ShowMessage("Облом!");
    dtct=true;
    }
Это в событие FormCreate

Бредятину какую то я придумал

Ошибку выдаёт при коннекте, но если серв доступен экзешник запускается после сообщения об ошибке...
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
03.06.2010, 14:19
4aynik, да уж, что-то занимательное однако... сообщение надо бы вызывать в таймере...
0
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
04.06.2010, 10:05  [ТС]
В событии таймера OnTimer вот это прописано:

C++
1
2
3
Label1->Caption=TimeToStr(Time()+(0.0001625));
Timer1->Enabled=false;
Timer1->Enabled=true;
Добавлено через 7 минут
Блин, всё не то...
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
04.06.2010, 10:09
4aynik, вообще я, когда вам предлагал таймер, то предполагал такое:
в таймере пишем интервал к примеру 30с, в обработчике OnTimer:
C++
1
2
3
ShowMessage("Насяльника, нет сервера, молчит!");
Connection->Cancel();
Timer1->Enabled = false;
а коннект пишем так:
C++
1
2
3
4
5
6
7
Timer1->Enabled = true;
try
  {
  ADOConnection1->Connected=true;
  }catch(...){
    //ошибка содинения
  }
в принципе таймаут готов... что вы мудрите, я не понимаю...
1
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
11.06.2010, 11:18  [ТС]
Не знаю, что в catch(...)

Добавлено через 29 секунд
Не знаю, что в catch(...) писать
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
11.06.2010, 11:22
4aynik,
ну вы бы уже напряглись бы... вам там надо написать сообщение:
C++
1
ShowMessage("Насяльника, ошибка соединения однако!");
1
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 161
15.06.2010, 14:48  [ТС]
В случае, когда сервер в шатдауне, то заданный таймаут срабатывает только при первом запуске экзешника, потом (при втором и дальнейших запусках) опять какой то другой таймаут вступает в действие... Но зато теперь только заданное сообщение выдаётся всегда. Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.06.2010, 14:48
Помогаю со студенческими работами здесь

Ошибка при попытке подключения к БД через ADO Connection
Помогите пожалуйста! При попытке подключения к БД через ADO Connection выкидывает следующая ошибка : Как исправить?

ADO.NET Connection->ADO Connection
Может, кто-нибудь знает, как ссылку на объект Connection из ADO.NET преобразовать в ссылку на COnnection из ADO, база одинаковая.

Entity framework SqlServerProvider Connection timeout
Добрый день. Подскажите, пожалуйста, можно ли провайдеру указать определенное значение Connection timeout? Параметр Connection Timeout=10...

ConnectionRefusedError: Connection to ::1:5672 failed: timeout
подскажите как исправить ошибку? server.py import asyncio from aio_pika import connect_robust async def main(loop): ...

Ошибка: Socket error #10060 Connection timeOut
В общем есть обычный FTP клиент на Delphi . Раньше он работал но после переустановки винды на прочь отказывается подключаться к серверу ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru