GOOGLE ADS

lundi 25 avril 2022

Taille maximale du pool lors de l'utilisation d'une connexion SQL

J'ai le code suivant pour vérifier si une table existe:

var selectQuery = $"SELECT count(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '{tableName}'";
using (var conn = new SqlConnection(_sqlServerConnectionString.SqlServerConnectionString))
{
conn.Open();
using (var cmd = new SqlCommand(selectQuery, conn))
{
var result = (int)cmd.ExecuteScalar();
return result > 0;
}
conn.Close();
}

cela s'appelle plusieurs fois. En exécutant ceci, je vois:

Le délai d'expiration s'est écoulé avant l'obtention d'une connexion à partir du pool. Cela peut être dû au fait que toutes les connexions regroupées étaient en cours d'utilisation et que la taille maximale du pool a été atteinte.

Qu'est-ce que je rate? J'ai fermé la connexion, donc je ne sais pas ce qui manque ?


Solution du problème

Cela ressemble probablement à une fuite ailleurs. De plus, si une sorte d'erreur se produit entre votre code d'ouverture et de fermeture, vos connexions continueront à s'accumuler car l'exécution ne quittera pas le bloc using. Veuillez vous référer à cet autre lien de débordement de pile: -
Comment puis-je résoudre un problème de pool de connexions entre ASP.NET et SQL Server?

Aucun commentaire:

Enregistrer un commentaire

Comment utiliseriez-vous .reduce() sur des arguments au lieu d'un tableau ou d'un objet spécifique ?

Je veux définir une fonction.flatten qui aplatit plusieurs éléments en un seul tableau. Je sais que ce qui suit n'est pas possible, mais...