|
Модераторы: gambit |
|
ivan215 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 2.10.2015 Репутация: нет Всего: нет |
Среда Visual Studio 2010, .NET 4, Visual Basic, ADO.NET провайдер
Не удается решить следующую проблему. Подключаюсь к БД через FbConnection.Open Получаю данные через FbDataAdapter Удаляю и то и другое FbConnection.Close FbConnection.Dispose FbDataAdapter.Dispose И пытаюсь подключиться к другой базе, используя другую строку подключения НЕ ВЫХОДЯ из программы. FireBird выдает ошибку подключения. Если перезапустить FireBird - все работает. И еще. Несмотря на закрытие и удаление и FBConnection и FBDataAdapter - окно свойств FireBird показывает одно активное подключение, которое очищается ТОЛЬКО когда выхожу из программы. Кто сталкивался подскажите, как решить проблему. |
|||
|
||||
chupachups |
|
|||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 15.10.2008 Репутация: нет Всего: 1 |
Создание подключений к базам данных - ресурсоёмкая операция, поэтому подключения организуются в пул и несмотря на кажущее уничтожение объекта подключения - оно остается в пуле.
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
ivan215 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 2.10.2015 Репутация: нет Всего: нет |
Да, про это я читал. Но Вы не ответили на поставленный вопрос - Как решить проблему. В классе FBConnection провайдера ADO.NET FireBird-а есть два варианта очистки пула: 1. FbConnection.ClearPool(FB_Con) Очистка одного пула, причем в качестве аргумента задается подключение (FB_Con As FbConnection). Вот здесь неясно. Можно подумать что под подключение FbCon выделяется отдельный пул. Это вряд ли. Тогда какой пул в данном случае очищается. 2. FbConnection.ClearAllPools - очищает все существующие пулы. Кстати вопрос, приводит ли это к отсоединению вообще всех подключенных пользователей. Мое переподключение к другой базе нив коем случае не должно затронуть остальных пользователей. Так кто что может посоветовать. |
|||
|
||||
chupachups |
|
|||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 15.10.2008 Репутация: нет Всего: 1 |
Пул один в пределах домена приложения и влияет только на конкретно работающее приложение на конкретном компьютере.
Подключения в пуле хранятся по ключу, ключ - строка подключения. FbConnection.ClearPool(FB_Con) - удалит только подключение с указанной в FB_Con строкой подключения. FbConnection.ClearAllPools - очисти весь пул - удалит все подключения. Совсем другое дело что в инете пишут об ошибках в этом провайдере и типа очистка пула или не срабатывает или вызывает исключение - но это уже не дело концепции, а реализации. Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |