Augmentation du délai d’expiration de la commande pour SQL

J’ai un petit problème et j’espère que quelqu’un pourra me donner des conseils. Je lance une commande SQL, mais il semble que cette commande nécessite environ 2 minutes pour renvoyer les données car il y a beaucoup de données. Mais le temps de connexion par défaut est de 30 secondes, comment puis-je augmenter cela et l’appliquer à cette commande?

public static DataTable runtotals(ssortingng AssetNumberV, ssortingng AssetNumber1V) { DataTable dtGetruntotals; try { dtGetruntotals = new DataTable("Getruntotals"); //SqlParameter AssetNumber = new SqlParameter("@AssetNumber", SqlDbType.VarChar, 6); //AssetNumber.Value = AssetNumberV; SqlParameter AssetNumber = new SqlParameter("@AssetNumber", SqlDbType.VarChar, 10); AssetNumber.Value = AssetNumberV; SqlParameter AssetNumber1 = new SqlParameter("@AssetNumber1", SqlDbType.VarChar, 10); AssetNumber1.Value = AssetNumber1V; SqlCommand scGetruntotals = new SqlCommand("EXEC spRunTotals @AssetNumber,@AssetNumber1 ", DataAccess.AssetConnection); // scGetruntotals.Parameters.Add(AssetNumber); scGetruntotals.Parameters.Add(AssetNumber); scGetruntotals.Parameters.Add(AssetNumber1); SqlDataAdapter sdaGetruntotals = new SqlDataAdapter(); sdaGetruntotals.SelectCommand = scGetruntotals; sdaGetruntotals.Fill(dtGetruntotals); return dtGetruntotals; } catch (Exception ex) { MessageBox.Show("Error Resortingving totals Details: Processed with this error:" + ex.Message); return null; } } 

il faut cette commande environ 2 minutes pour retourner les données car il y a beaucoup de données

Mauvais design Pensez à utiliser la pagination ici.

le temps de connexion par défaut est de 30 secondes, comment puis-je augmenter ce temps

Comme vous êtes confronté à un délai d’attente sur votre commande, vous devez donc augmenter le délai d’attente de votre commande sql . Vous pouvez le spécifier dans votre commande comme ceci

 // Setting command timeout to 2 minutes scGetruntotals.CommandTimeout = 120; 

Ajoutez le délai d’attente de votre SqlCommand . Veuillez noter que l’heure est en seconde.

 // Setting command timeout to 1 second scGetruntotals.CommandTimeout = 1; 

Comme il faut 2 minutes pour répondre, vous pouvez augmenter le délai d’attente à 3 minutes en ajoutant le code ci-dessous.

 scGetruntotals.CommandTimeout = 180; 

Remarque : la valeur du paramètre est en secondes.

Définir CommandTimeout sur 120 n’est pas recommandé. Essayez d’utiliser la pagination comme mentionné ci-dessus. Définir CommandTimeout à 30 est considéré comme normal. Tout ce qui est supérieur à cela est considéré comme une mauvaise approche et cela aboutit généralement à une erreur dans la mise en œuvre. Maintenant, le monde tourne autour de l’approche MiliSeconds.