sqlCom.CommandTimeout = 60;
Significado
CommandTimeout: tiempo límite de ejecución del comando, unidad: segundos
- Valor por defecto: 30 segundos
- En el ejemplo se asigna 60 → si la sentencia SQL no finaliza en 60 segundos, se lanza una excepción de tiempo agotado.
Diferencia claramente estos dos timeouts
ConnectionTimeout: se configura dentro de la cadena de conexión, tiempo límite para establecer la conexión con la base de datosCommandTimeout: entra en vigor tras conectar correctamente, tiempo de espera para ejecutar sentencias SQL
Ejemplo completo
private void button1_Click(object sender, EventArgs e)
{
string connectionString = "Data Source=.;Initial Catalog=db;User ID=sa;pwd=xxx";
// using libera automáticamente los recursos de SqlConnection
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
SqlCommand sqlCom = new SqlCommand();
// Asociar conexión (elige una de las dos formas)
sqlCom.Connection = conn;
sqlCom.CommandText = "select 1";
// Establecer tiempo límite de ejecución SQL en 60 segundos
sqlCom.CommandTimeout = 60;
object obj = sqlCom.ExecuteScalar();
MessageBox.Show(obj.ToString());
}
// Al salir del bloque using, conn se cierra y libera solo, no hace falta llamar conn.Close() manualmente
}Lenguaje del código: JavaScript (javascript)
Consideraciones
- No se admiten valores negativos. El 0 significa espera indefinida (no recomendado, puede colgar la aplicación)
- Solo afecta a esta instancia concreta de
SqlCommand, no es una configuración global - Aumenta este valor cuando los procedimientos almacenados tardan mucho.
En producción prioriza optimizar el SQL, no solo elevar el tiempo‑límite sin control.
Inicialización abreviada (estilo inicializador de objeto)
SqlCommand sqlCom = new SqlCommand("select 1", conn)
{
CommandTimeout = 60
};Lenguaje del código: JavaScript (javascript)
Configuración del timeout de conexión
Se define dentro de la cadena de conexión y no interfiere con CommandTimeout:
Data Source=.;Initial Catalog=db;User ID=sa;Password=xxx;Connect Timeout=15
Connect Timeout=15 → espera máxima de 15 segundos al intentar conectarse a la base de datos.
CommandTimeout
Previous: SqlCommand