Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / adodb.connection проверка соединения / 9 сообщений из 9, страница 1 из 1
18.05.2009, 11:12
    #35990987
Денис24
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
adodb.connection проверка соединения
подскажите пожалуйста
Приложение конесктится к серверу и записывает данные в автоматическом режиме.Всё хорошо,но сервер раз в день закрывает соединение и приложение перестаёт писать.Как организовать при ошибке записи пересоединение к серверу и вновь начать запись?
Код: 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
18.05.2009, 12:14
    #35991234
by-pass
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
adodb.connection проверка соединения
можно попробовать определить состояние connection (conn)
conn.State = ...
и дальше действовать по обстоятельствам
делать это, конечно, следует до всяких операций с рекордсетом
...
Рейтинг: 0 / 0
18.05.2009, 16:26
    #35992123
Денис24
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
adodb.connection проверка соединения
conn.state будет показывать состояние соединения при загрузке формы в данном примере или текущее состояние?
...
Рейтинг: 0 / 0
18.05.2009, 16:40
    #35992169
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
adodb.connection проверка соединения
Код: 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
18.05.2009, 17:19
    #35992306
Денис24
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
adodb.connection проверка соединения
какое состояние покажет cnn.state,если при открытии формы соединение было успешно установлено а через,допустим 5 мин сервер будет выключен и это соединение никто со стороны приложения не закрывал?
...
Рейтинг: 0 / 0
18.05.2009, 17:21
    #35992312
fortibransa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
adodb.connection проверка соединения
Ну дык Konst_One тебе нормальный пример дал
...
Рейтинг: 0 / 0
18.05.2009, 17:22
    #35992316
fortibransa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
adodb.connection проверка соединения
И это отлови номер ошибки и пробуй восстановить соединение, каки проблемы то
...
Рейтинг: 0 / 0
18.05.2009, 17:22
    #35992317
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
adodb.connection проверка соединения
я же показал вам куда проверку вставлять надо.
перед каждым использованием соединения (SELECT/INSERT/UPDATE ...) вам надо вставить проверку.
...
Рейтинг: 0 / 0
18.05.2009, 17:23
    #35992319
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
adodb.connection проверка соединения
> Автор: Денис24
> какое состояние покажет?

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


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


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