Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ADODB обработка ошибок соединения / 18 сообщений из 18, страница 1 из 1
16.06.2010, 07:32
    #36689091
kliff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB обработка ошибок соединения
подскажите пожалуйста, если кто делал. Вот кусок кода, как я сделал. Смысл в том, что если пропало соединение, он заходит в ADcon.Open StrCon и висит там минут 5. почему то выставление Timeout не помогает.

Dim StrCon As String
StrCon = "DSN=WORK"
Dim ADcon As New ADODB.Connection
Dim ADrec As New ADODB.Recordset
Dim SQLstr As String
On Error GoTo sf
SQLstr = "select dn from data order by dn"
Set ADcon = New ADODB.Connection
ADcon.ConnectionTimeout = 5

ADcon.Open StrCon
Set ADrec = New ADODB.Recordset
ADrec.CursorLocation = adUseClient
ADrec.Open SQLstr, ADcon
Exit Sub

sf:
...
Рейтинг: 0 / 0
16.06.2010, 07:37
    #36689094
kliff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB обработка ошибок соединения
Забыл написать, после 5ти минут он все-таки заходит в sf из-за ошибки. как бы мне время попытки соединения уменьшить?
...
Рейтинг: 0 / 0
16.06.2010, 09:32
    #36689173
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB обработка ошибок соединения
ADcon.ConnectionTimeout не влияет на время установления соединения - влияет только на таймаут выполнения запросов.

Данную паузу выдает ОС в процессе установления TCP -соединения с недоступным сервером и ADO на это повлиять не может - это надо ковырять куда-то в сторону TCP/IP.

Грубо говоря, если у вас шареный файлсервер недоступен - при попытке зайти на него вы словите такую же паузу, вне зависимости от того, какой программой заходите.
...
Рейтинг: 0 / 0
16.06.2010, 11:23
    #36689471
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB обработка ошибок соединения
Shocker.ProADcon.ConnectionTimeout не влияет на время установления соединения - влияет только на таймаут выполнения запросов.C хмурым утром :)
Как раз таки наоборот, влияет именно на время установления соединения. На время выполнения запроса — Command Timeout, с которой и следует поиграться автору.
...
Рейтинг: 0 / 0
16.06.2010, 11:47
    #36689532
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB обработка ошибок соединения
AntonariyShocker.ProADcon.ConnectionTimeout не влияет на время установления соединения - влияет только на таймаут выполнения запросов.C хмурым утром :)
Как раз таки наоборот, влияет именно на время установления соединения. На время выполнения запроса — Command Timeout, с которой и следует поиграться автору.
Ой, да, действительно хмурое, не прав.
Но автору-то как раз не нужен CommandTimeout - у него проблема с установкой соединения...
в хелпе есть интересная фраза:
Make sure the provider to which you are writing code supports the ConnectionTimeout functionality.

может просто пингануть сервер перед тем, как подключаться?
Или запускать его в отдельном потоке и рушить вручную, сделав собственный таймаут...
...
Рейтинг: 0 / 0
16.06.2010, 12:00
    #36689578
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB обработка ошибок соединения
Прочитал невнимательно, конечно CommandTimeout нужно.
...
Рейтинг: 0 / 0
16.06.2010, 12:08
    #36689602
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB обработка ошибок соединения
AntonariyПрочитал невнимательно, конечно CommandTimeout нужно.

авторзаходит в ADcon.Open StrCon и висит там минут 5

Почему? у него СОЕДИНЕНИЕ не устанавливается, а не КОМАНДА не выполняется
...
Рейтинг: 0 / 0
16.06.2010, 12:56
    #36689766
kliff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB обработка ошибок соединения
CommandTimeout тоже результата не дает, опробовано. может есть еще какой то сапособ перед выполнением проверить доступность данного узла?
...
Рейтинг: 0 / 0
16.06.2010, 13:32
    #36689911
kiv-1980
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB обработка ошибок соединения
Как вариант для начала пингуйте узел
Если пинг есть, смело устанавливайте соединение. А если у меня база недоступна (если вдруг лежит БД), в течении 6-9 секунд вылетает ошибка, которую я и обрабатываю.
...
Рейтинг: 0 / 0
16.06.2010, 14:28
    #36690075
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB обработка ошибок соединения
Shocker.ProAntonariyПрочитал невнимательно, конечно CommandTimeout нужно.

авторзаходит в ADcon.Open StrCon и висит там минут 5

Почему? у него СОЕДИНЕНИЕ не устанавливается, а не КОМАНДА не выполняетсяА теперь скописпастил невнимательно))
...
Рейтинг: 0 / 0
17.06.2010, 13:15
    #36692126
kliff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB обработка ошибок соединения
kiv-1980,
Как вариант для начала пингуйте узел* - с таким не сталкивался, просто сам код не отрабатывает, в cmd пинга нет, а используя этот код есть. даже есть пинг на несуществующие айпишники
...
Рейтинг: 0 / 0
17.06.2010, 13:30
    #36692184
kliff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB обработка ошибок соединения
реакция только на IP с заведомо неправильным значением, скажем 1924.168.7.2
...
Рейтинг: 0 / 0
17.06.2010, 21:01
    #36693569
kiv-1980
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB обработка ошибок соединения
Ну покажите строку соединения, если ИП пингуется нормально, вероятней всего что-то с аутентификацией на самом сервере.
...
Рейтинг: 0 / 0
17.06.2010, 21:03
    #36693574
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB обработка ошибок соединения
kiv-1980Ну покажите строку соединения, если ИП пингуется нормально, вероятней всего что-то с аутентификацией на самом сервере.
Я так понял автора, что у него код для пинга неправильно работает. То есть узел недоступен, а код показывает, что якобы доступен
...
Рейтинг: 0 / 0
18.06.2010, 07:47
    #36693985
kiv-1980
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB обработка ошибок соединения
Shocker.ProЯ так понял автора, что у него код для пинга неправильно работает. То есть узел недоступен, а код показывает, что якобы доступен
Указанный код рабочий, сам его использую уже не один год. Автору нужно проверить с командной строки ping узел доступность узла, возможно на узле фаер, либо брандмаузер, который и блочит запросы.
Без полного и внятного описания проблемы, что-то посоветовать невозможно.
...
Рейтинг: 0 / 0
18.06.2010, 10:42
    #36694198
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB обработка ошибок соединения
ICMP-пакеты могут быть заблокированы в сети
...
Рейтинг: 0 / 0
21.06.2010, 12:34
    #36698097
kliff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB обработка ошибок соединения
я как раз выше писал про то, что в cmd(командная строка) пинга нет, а код дает, что есть. Просто думал как то полегче можно через тот же ADODB. пока не нашел. Надо было быстро сделать, поэтому пока пользуюсь классом, который робит через АПИ. но какойто другой путь явно должон быть.
...
Рейтинг: 0 / 0
21.06.2010, 12:41
    #36698116
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB обработка ошибок соединения
> Автор: kliff
> но какойто другой путь явно должон быть.

Другой путь - трясти админа, что-бы сетку настроил, или внятно объяснил из-за чего происходят проблемы и как их решать

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
objPing2 = Getobject("winmgmts:")
objPing = objPing2.ExecQuery("select * from Win32_PingStatus where address = """ & sAddress & """")
For Each objStatus In objPing
 If Isnull(objStatus.StatusCode) Or objStatus.StatusCode<> 0  Then
  return False
 End If
Next objStatus
Return True


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ADODB обработка ошибок соединения / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]