valor - tiempo de espera de la operación de espera agotado c#
Aumentar el tiempo de espera del comando para el comando SQL (4)
Este comando toma aproximadamente 2 minutos para devolver los datos, ya que hay muchos datos.
Mal diseño Considere utilizar la paginación aquí.
el tiempo de conexión predeterminado es de 30 segundos, ¿cómo puedo aumentar esto?
Como está enfrentando un timout en su comando, por lo tanto, necesita aumentar el tiempo de espera de su comando sql . Puedes especificarlo en tu comando así.
// Setting command timeout to 2 minutes
scGetruntotals.CommandTimeout = 120;
Tengo un pequeño problema y espero que alguien me pueda dar un consejo. Estoy ejecutando un comando SQL, pero parece que toma este comando aproximadamente 2 minutos para devolver los datos ya que hay muchos datos. Pero el tiempo de conexión predeterminado es de 30 segundos, ¿cómo puedo aumentar esto y aplicarlo a este comando?
public static DataTable runtotals(string AssetNumberV, string 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 Retriving totals Details: Processed with this error:" + ex.Message);
return null;
}
}
Añadir tiempo de espera de su SqlCommand
. Tenga en cuenta que el tiempo está en segundo.
// Setting command timeout to 1 second
scGetruntotals.CommandTimeout = 1;
Como la respuesta tarda 2 minutos, puede aumentar el tiempo de espera a 3 minutos agregando el siguiente código
scGetruntotals.CommandTimeout = 180;
Nota : el valor del parámetro es en segundos.
No se recomienda establecer CommandTimeout en 120. Trate de usar la paginación como se mencionó anteriormente. Establecer CommandTimeout en 30 se considera normal. Cualquier cosa más que eso es considerar un mal enfoque y eso generalmente concluye algo incorrecto con la implementación. Ahora el mundo se está ejecutando en el enfoque MiliSeconds.