powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как закрыть и очистить пул соединений?
21 сообщений из 21, страница 1 из 1
Как закрыть и очистить пул соединений?
    #36577938
Joris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Базы данных: MS Access
Проблема в том, что во время работы программы, при определенных условиях необходимо сжимать БД, и вот при сжатие БД все время ругается на открытое соединение с БД. Есть разные соединение вроде все конекта закрыл (а может где то отсалось) все равно ругается пока полностью не закрою программу, соединение не закрывается.
Вопрось: Как закрыть и очистить пул соединений БД...?
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36577954
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joris,

к Access подключаетесь из VB ?
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36578002
Joris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да:
Базы данных: MS Access
Программа: Visual Basic 6.0
но разные подключения есть, т.е. переменые например cnn, con, db, и т.п.
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36578091
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо не забывать делать cnn.Close перед тем, как переменная выйдет из зоны видимости или будет очищена вручную.
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36578165
Joris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Перепробовал все варианты закрытия. Ничего не помогло, пока полностью не закрою программу, соединение не закрывается.
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36578204
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joris,

Может в программе ConnectionDesigner создал свое подключение и оно висит?
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36578209
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локализуйте проблему.

Либо снизу:
Например, откройте соединение, сразу закройте его и попытайтесь сжать базу.

Либо сверху:
Урезайте свою программу до тех пор, пока эффект перестанет иметь место. Потом ищите то место, которое повлияло.
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36578286
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Салкивался с такой проблемой, иногда помогало помимо close делать nothing, иногда не помогало.

Jah loves you.
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36578293
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyСалкивался с такой проблемой, иногда помогало помимо close делать nothing, иногда не помогало.

В ADO Nothing для рекордсетов и соединений надо делать всегда, иначе иногда вылезают неимоверные и труднопредставимые глюки
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36578308
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну ка, давайте сюда ваш код сжатия. есть подозрение что вы не так делаете
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36578314
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneну ка, давайте сюда ваш код сжатия. есть подозрение что вы не так делаете

С учетом того, что автор закрывает программу перед сжатием, он это делает просто аксессом. (имхо)
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36578323
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или батником, но при открытой базе в акцессе
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36578489
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneну ка, давайте сюда ваш код сжатия. есть подозрение что вы не так делаете
+1
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36578709
Joris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneну ка, давайте сюда ваш код сжатия. есть подозрение что вы не так делаете

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
    Dim JRO As JRO.JetEngine
    Set JRO = New JRO.JetEngine
    
    Dim OldFile As String
    Dim NewFile As String


    OldFile = App.Path & "\OldTest.mdb"
    NewFile = App.Path & "\NewTest.mdb"
        
     If Con.State =  0  Then
            Con.Close
            Set Con = Nothing
     End If
     JRO.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0" & _
                                          ";Data Source='" & OldFile & "'" & _
                                          ";Jet OLEDB:Database Password=Test", _
                            "Provider=Microsoft.Jet.OLEDB.4.0" & _
                                          ";Data Source='" & NewFile & "'" & _
                                          ";Jet OLEDB:Database Password=Test"
        Set JRO = Nothing
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36578985
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и теперь привидите точную ошибку на метод JRO.CompactDatabase
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36578986
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*приведите
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36579076
Joris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One*приведите
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36579107
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проверяйте все свои рекордсеты, соединения, гриды и тп контролы с биндингом
все ресурсы надо освобождать.


PS
и самое главное, база данных не должна быть открыта в самом акцессе в момент этого действия
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36579110
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и ещё: зачем вам монопольный доступ в вашей программе для работы?
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36579146
Joris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneпроверяйте все свои рекордсеты, соединения, гриды и тп контролы с биндингом
все ресурсы надо освобождать.

В начале объяснил, что у меня разные коннекты, можно искать и все дыки закрыть тогда не будет проблема. просто хотел узнать есть какой нубуд команда что бы автоматически освободил все ресурсы….

Konst_Oneи самое главное, база данных не должна быть открыта в самом акцессе в момент этого действия
+0,1
...
Рейтинг: 0 / 0
Как закрыть и очистить пул соединений?
    #36579230
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JorisВ начале объяснил, что у меня разные коннекты, можно искать и все дыки закрыть тогда не будет проблема. просто хотел узнать есть какой нубуд команда что бы автоматически освободил все ресурсы….

Вряд ли.
Скорее всего, вам (если позволяют условия) надо сделать пул из переменных коннектов, сделать их глобальными и собрать в одном месте. Это позволит во-первых найти ошибки с незакрытыми коннектами (будет рантайм еррор при при попытке повторного открытия незакрытого соединения), а во-вторых позволит их разом закрыть при необходимости.

Это, имхо, наименее затратный способ "починить" программу. В дальнейшем уже нужно будет выносить в глобальные функции процедуру подключения к базе, а в идеале сделать класс работы с БД.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как закрыть и очистить пул соединений?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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