У меня есть сервер, поддерживающий телефонную систему из 300 телефонов. Когда выполняются вызовы, во время разговора открывается и закрывается множество различных соединений. Я начинаю видеть сообщения об отсутствии соединений с базой данных и об истечении времени ожидания при обращении к базе данных.
Программа обработки вызовов использует ODBC DSN для подключения к базе данных. Я предполагаю, что пул подключений отсутствует для DSN (если это возможно).
Как я могу проверить максимальный размер пула? Если мне нужно указать максимальный размер пула в строке подключения, есть ли способ добавить его с помощью приложения odbcad32 (возможно, в файлах ini)? Я вижу вкладку «Объединение подключений», но на ней можно указать только время, в течение которого остаются неиспользуемые подключения. Это системы Windows 2000 и Windows NT. У меня нет возможности изменить код.
Размер пулов соединений по умолчанию - 100. Вы можете изменить этот размер в самой строке соединения, используя параметр:
Max Pool Size
См. Здесь полный список параметров строки подключения.
У вас должна быть для этого веская причина. В большинстве случаев, когда у вас заканчиваются соединения, они протекают (= не закрываются должным образом) в приложении. Если у вас есть доступ к исходному коду, я бы подумал о закрытии соединений, как только запрос будет выполнен.