Я использую класс удобства cs для обработки моих запросов sql.
Это просто, вы создаете экземпляр, указав имя базы данных, и он одновременно управляет только одним дуэтом команда / руководитель чтения данных.
public static void Connect (string DBName)
{
string connectionString =
"Server=serverNaaaaaaaaame;Database="
+ DBName
+ ";Integrated Security=SSPI;";
try
{
if (cnn != null)
cnn.Close ();
cnn = new SqlConnection (connectionString);
cnn.Open ();
}
catch (Exception e)
{
string aaaaaa = e.Message;
}
}
public void Command (string command)
{
try
{
if (drd != null)
drd.Dispose ();
if (cmd != null)
cmd.Dispose ();
cmd = new SqlCommand (command, cnn);
//cmd.CommandTimeout = 300;
drd = cmd.ExecuteReader ();
}
catch (Exception e)
{
string aaaaaa = e.Message;
}
}
Как и в многопоточных частях моего кода, я часто получаю тайм-ауты. Кажется, это связано с тем, что количество моих одновременных соединений слишком велико. (Если я ввожу отладку по истечении времени ожидания и пытаюсь выполнить запрос в mssqlsms, он зависает, пока я не остановлю отладку.)
Мне сообщили о параметре «Максимальный размер пула», который нужно задать в строке подключения, однако я не вижу, на что это влияет.
Изменилось ли количество подключений SqlConnect, которые я могу подключить к той же базе данных?
Изменяет ли это количество одновременных SqlCommand и последующих sqlDataReaders, которые я могу использовать одновременно? На том же SqlConnection?
Что-то еще?
Нужно ли указывать его во всех строках подключения?
Имеет ли это какой-либо эффект, если база данных уже используется в другом программном обеспечении?