powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / adodb.connection проверка соединения
9 сообщений из 9, страница 1 из 1
adodb.connection проверка соединения
    #35990987
Денис24
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подскажите пожалуйста
Приложение конесктится к серверу и записывает данные в автоматическом режиме.Всё хорошо,но сервер раз в день закрывает соединение и приложение перестаёт писать.Как организовать при ошибке записи пересоединение к серверу и вновь начать запись?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
Option Explicit
Dim conn As ADODB.Connection
Dim rst As New ADODB.Recordset

Private Sub Form_Load()
Set conn = New ADODB.Connection
With conn

   .CursorLocation = adUseClient
   .Provider = "MSDAORA"
   '.Open = "dsn=aice10g"
   .Properties("Data Source").Value = "aice10g"
   .Properties("User ID").Value = "disegn"
   .Properties("Password").Value = "disegn"
   .Open
End With
rst.LockType = adLockOptimistic
rst.Source = "select * from ats where ats.date_call is not null"
Set rst.ActiveConnection = conn
rst.Open
end sub


Private Sub tobase(m_str As String)
On Error GoTo  10 
rst.AddNew
.
.
.
rst.update
On Error GoTo  0 
Exit Sub
 10 :
Dim strErr As String
strErr = "Error #" & Err.Number & ": " & Err.Description & vbCrLf
strErr = strErr & "Error reported by: " & Err.Source & vbCrLf
filenum1 = FreeFile
Open App.Path & "\log\log.txt" For Append As filenum1
Print #filenum1, strErr
Close #filenum1
end sub


Где и как вставить проверку соединения с сервером и как переконекчиваться?
...
Рейтинг: 0 / 0
adodb.connection проверка соединения
    #35991234
Фотография by-pass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно попробовать определить состояние connection (conn)
conn.State = ...
и дальше действовать по обстоятельствам
делать это, конечно, следует до всяких операций с рекордсетом
...
Рейтинг: 0 / 0
adodb.connection проверка соединения
    #35992123
Денис24
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
conn.state будет показывать состояние соединения при загрузке формы в данном примере или текущее состояние?
...
Рейтинг: 0 / 0
adodb.connection проверка соединения
    #35992169
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Public Function CheckConnect(ByRef cn as ADODB.Connection) as Boolean
On Error GoTo err_debug

If Not cn Is Nothing then
  If cn.State = adStateOpen Then
    cn.Execute "SELECT SYSDATE FROM DUAL", False, adCmdText
    CheckConnect = True
  End if
end if
lb_out:
   Exit Sub

err_debug:
   LogError "CheckConnect"
   Resume lb_out
End Function

Private Sub tobase(m_str As String)

If Not CheckConnect(conn) Then
   'надо делать реконнект
   Exit Sub
End if
...
...
Рейтинг: 0 / 0
adodb.connection проверка соединения
    #35992306
Денис24
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какое состояние покажет cnn.state,если при открытии формы соединение было успешно установлено а через,допустим 5 мин сервер будет выключен и это соединение никто со стороны приложения не закрывал?
...
Рейтинг: 0 / 0
adodb.connection проверка соединения
    #35992312
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну дык Konst_One тебе нормальный пример дал
...
Рейтинг: 0 / 0
adodb.connection проверка соединения
    #35992316
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И это отлови номер ошибки и пробуй восстановить соединение, каки проблемы то
...
Рейтинг: 0 / 0
adodb.connection проверка соединения
    #35992317
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я же показал вам куда проверку вставлять надо.
перед каждым использованием соединения (SELECT/INSERT/UPDATE ...) вам надо вставить проверку.
...
Рейтинг: 0 / 0
adodb.connection проверка соединения
    #35992319
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Денис24
> какое состояние покажет?

Да возьми и проверь ;)
и нам расскажешь


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


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