powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / SQLServer не закрывает соединение при Cn.Close
6 сообщений из 6, страница 1 из 1
SQLServer не закрывает соединение при Cn.Close
    #32862715
DNV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делаю такой текст
Код: plaintext
1.
2.
3.
4.
Dim Cn As New SqlClient.SqlConnection(sCn)
Cn.Open()
Cn.Close()
Cn.Dispose()
после этого смотрю, в SQL Server
Connections using this database: 1

И только когда закрываю свою прогу, соединение закрывается.
Догадываюсь, что это пул соединений, держит соединение у себя открытым.

А как сделать, чтобы при Cn.Close оно рвалось?
...
Рейтинг: 0 / 0
SQLServer не закрывает соединение при Cn.Close
    #32862733
Alex Antonoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Откажитесь от пула коннектов ;)
...
Рейтинг: 0 / 0
SQLServer не закрывает соединение при Cn.Close
    #32862800
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавь в строке подключения SqlConnection
Код: plaintext
1.
Pooling=False;
Только точно это надо? Зачем растрачивать преимущество Pooling?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
SQLServer не закрывает соединение при Cn.Close
    #32862926
DNV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. в данном случае нужно.

нужно сохранить содержимое таблицы,
отключить базу, заменить ее
а потом восстановить таблицу в новую базу

поэтому желательно очистить пул.

А как кстати програмно очистить все пулы?
...
Рейтинг: 0 / 0
SQLServer не закрывает соединение при Cn.Close
    #32863044
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DNV
А как кстати програмно очистить все пулы?


Думаю из названия процедур понятно их предназначение.
Код: 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.
using System.Reflection;

public static object GetConnectionPool(SqlConnection connection)
{
	FieldInfo internalConnectionFieldInfo =
		typeof(SqlConnection).GetField("_internalConnection", BindingFlags.NonPublic | BindingFlags.Instance);
	if (internalConnectionFieldInfo != null)
	{
		object sqlInternalConnection = internalConnectionFieldInfo.GetValue(connection);
		if (sqlInternalConnection != null)
		{
			PropertyInfo poolPropertyInfo = sqlInternalConnection.GetType().GetProperty("Pool");
			return
				poolPropertyInfo.GetValue(sqlInternalConnection, new object[] {});
		}
	}
	return null;
}

public static void ReleaseObjectPool(object pool)
{
	if (pool != null)
	{
		MethodInfo cleanupCallbackMethodInfo = pool.GetType().GetMethod("CleanupCallback", BindingFlags.NonPublic |	BindingFlags.Instance);
		if (cleanupCallbackMethodInfo != null)
		{
			cleanupCallbackMethodInfo.Invoke(pool,
				new object[] {null});
			cleanupCallbackMethodInfo.Invoke(pool, 
				new object[] {null});
		}
	}
}


Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
SQLServer не закрывает соединение при Cn.Close
    #32864066
DNV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо :)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / SQLServer не закрывает соединение при Cn.Close
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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