powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Разрыв соединения, что делать?
7 сообщений из 32, страница 2 из 2
Разрыв соединения, что делать?
    #32195008
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно... [ color=#rrggbb ]Text[ /color ]
...
Рейтинг: 0 / 0
Разрыв соединения, что делать?
    #32195019
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Ладно... [ color=#rrggbb ]Text[ /color ]

Секрет Полишенеля
Красный
Код: plaintext
1.
[color=red] Красный [/color]


ты лучше на вопрос Владимир Саныча ответь, скрытный ты наш :)
а заодно по поводу моего предложения по cnn.Open
...
Рейтинг: 0 / 0
Разрыв соединения, что делать?
    #32195169
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну я же уже все сказал...
[ fixed ]
[ color = #446699 ]

Ну что ж вы так.. а?

А по поводу ттвоего предложения, смогу проверить только ближе к вечеру :(
...
Рейтинг: 0 / 0
Разрыв соединения, что делать?
    #32195180
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Махуня нехороший человек.
...
Рейтинг: 0 / 0
Разрыв соединения, что делать?
    #32195207
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Владимир Саныч, и чем я нехороший? Очень даже приличный!
...
Рейтинг: 0 / 0
Разрыв соединения, что делать?
    #32195751
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да!

2Senin Viktor , все заработало! Подключение обвалилось! Создается Connection, как ты и советовал, и все работает ок!
Один маленький вопросец: А ты как запоминаешь ConnectionString?

Я все примерно так организовал:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Dim cnn As ADODB.Connection
Dim cmd As ADODB.Command
Dim RS As Recordset
Dim CnnStr As String

  Set cnn = New ADODB.Connection
  Set cmd = New ADODB.Command

  CnnStr = CurrentProject.BaseConnectionString
  cnn.Open (CnnStr)

  If Not (cnn.State = adStateOpen) Then
    Exit Sub
  End If

  Set cmd.ActiveConnection = cnn

  With cmd
    .CommandText =  "SRM_GetPeopleAddFieldsList" 
    .CommandType = adCmdStoredProc
  End With

  Set RS = cmd.Execute

mahoune
...
Рейтинг: 0 / 0
Разрыв соединения, что делать?
    #32195768
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2mahoune

>Один маленький вопросец: А ты как запоминаешь ConnectionString?
Строку подключение я формирую сам, при загрузке базы

>Подключение обвалилось
Что обалилось? Сломалось? Испортилось? Не работает?

У меня несколько другой подход. Я уже описывал его.
Есть всегда открытй конект с базе ( в моем случае mdb, но это роли не играет)
Конект открывается в момент загрузки программы, вызывается как функция возвращаемая объект ADODB.Connection
В этой фукнкции я делаю проверку открыт ли конект или нет, если открыт то просто возвращаю значение функции, если закрыт (из-за сбоя в проге, потере связи и т.п.) то заново открываю и опять же возвращаю.
Плюсы: не надо тратить время на подключения к бд
Минусы: еще не встретил. но и не исключаю.
А вообще, стараюсь использовать CurrentProject.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.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
Public Function cnnRemDataServerCursor() As ADODB.Connection
    On Error GoTo mis

    Dim tmpLng                     As Long
    Dim tmpStr                     As String
    Const cnnNameOfFileData        As String =  "data.mdb"     ' имя файла с данными
'tmpcnnRemDataServerCursor  - переменая As ADODB.Connection
    If Not (tmpcnnRemDataServerCursor Is Nothing) Then
        'если перемнная создана проверим на ее состояние
        Select Case tmpcnnRemDataServerCursor.state
            Case adStateOpen
                Set cnnRemDataServerCursor = tmpcnnRemDataServerCursor
                GoTo ext
            Case Else
                GoTo OpenCon
        End Select
    End If
OpenCon:
    Set tmpcnnRemDataServerCursor = New ADODB.Connection
    With tmpcnnRemDataServerCursor
        'присвоим всю строку целиком от текущего конекта
        'и изменим только место расположения файла

        If Len(strPathToRemoteFile) = 0 Then
            tmpStr = PathToData()
        Else
            tmpStr = strPathToRemoteFile
        End If
        .ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0" & _
                            ";User ID=Admin" & _
                            ";DATA SOURCE=" & tmpStr & _
                            ";PERSIST SECURITY INFO=FALSE" & _
                            ";Jet OLEDB:System database=C:\PROGRA~1\COMMON~1\System\SYSTEM.MDW"

        .Open
    End With
    Set cnnRemDataServerCursor = tmpcnnRemDataServerCursor

ext:
    Exit Function
mis:
    Select Case err.Number
        Case -2147217843    'Сбой проверки подлинности
            tmpLng = tmpLng +  1 
            If tmpLng <  10  Then
                Resume
            Else
                Resume Next
            End If
        Case Else
            MsgBox err.Description, vbCritical, err.Number
    End Select
End Function

...
Рейтинг: 0 / 0
7 сообщений из 32, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Разрыв соединения, что делать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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