Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / SQLServer не закрывает соединение при Cn.Close / 6 сообщений из 6, страница 1 из 1
13.01.2005, 11:18
    #32862715
DNV
DNV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLServer не закрывает соединение при Cn.Close
делаю такой текст
Код: 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
13.01.2005, 11:23
    #32862733
Alex Antonoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLServer не закрывает соединение при Cn.Close
Откажитесь от пула коннектов ;)
...
Рейтинг: 0 / 0
13.01.2005, 11:45
    #32862800
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLServer не закрывает соединение при Cn.Close
Добавь в строке подключения SqlConnection
Код: plaintext
1.
Pooling=False;
Только точно это надо? Зачем растрачивать преимущество Pooling?

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

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

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

А как кстати програмно очистить все пулы?
...
Рейтинг: 0 / 0
13.01.2005, 13:05
    #32863044
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLServer не закрывает соединение при Cn.Close
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
13.01.2005, 20:01
    #32864066
DNV
DNV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLServer не закрывает соединение при Cn.Close
спасибо :)
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / SQLServer не закрывает соединение при Cn.Close / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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