TimeOut de SQL Server desde C#

22/10/2004 - 13:01 por Oriol | Informe spam
Hola a todos,

Tengo una aplicacion en Consola con C# que ataca a una BD en SQL Server.
Tengo una consulta bastante grande y me da timeouts. He modificado el
timeout desde C# pero me sigui dando timeout, y me da el error antes que se
acabe el tiempo que yo le he puesto. Como puedo indicar que espere mas? O
tambien tengo que indicarlo en el SQL Server?

Aqui pongo el codigo en C# para ayudarles:


SqlCommand cmd= new SqlCommand();

cmd.Connection = Connexion;

cmd.CommandTimeout = 600; // Pongo el TimeOut a 10 minutos.

cmd.CommandType = CommandType.StoredProcedure;

cmd.CommandText = "RecuperarDatos";

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataSet ds = new DataSet();

da.Fill(ds,"Datos");

El problema como veis es que le doy 10 minutos de tiempo (estoy haciendo
pruebas) para devolver los datos, que ejecutados desde el Query Analizer me
tarda sobre 1:30 o 2 minutos. Porque sigui dando el problema?

Gracias y saludos.

Oriol.

Preguntas similare

Leer las respuestas

#1 Tinoco
22/10/2004 - 13:59 | Informe spam
Hola

1. En el ConnectionString, existe un parametro Timeout, para no tener
problemas de desconexión este valor debería de ser cero (0).

2. cmd.CommandTimeout = 0;

Hermilson T.
MCDBA, MCSD
Colombia

"Oriol" wrote:

Hola a todos,

Tengo una aplicacion en Consola con C# que ataca a una BD en SQL Server.
Tengo una consulta bastante grande y me da timeouts. He modificado el
timeout desde C# pero me sigui dando timeout, y me da el error antes que se
acabe el tiempo que yo le he puesto. Como puedo indicar que espere mas? O
tambien tengo que indicarlo en el SQL Server?

Aqui pongo el codigo en C# para ayudarles:


SqlCommand cmd= new SqlCommand();

cmd.Connection = Connexion;

cmd.CommandTimeout = 600; // Pongo el TimeOut a 10 minutos.

cmd.CommandType = CommandType.StoredProcedure;

cmd.CommandText = "RecuperarDatos";

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataSet ds = new DataSet();

da.Fill(ds,"Datos");

El problema como veis es que le doy 10 minutos de tiempo (estoy haciendo
pruebas) para devolver los datos, que ejecutados desde el Query Analizer me
tarda sobre 1:30 o 2 minutos. Porque sigui dando el problema?

Gracias y saludos.

Oriol.





Respuesta Responder a este mensaje
#2 Tinoco
22/10/2004 - 13:59 | Informe spam
Hola

1. En el ConnectionString, existe un parametro Timeout, para no tener
problemas de desconexión este valor debería de ser cero (0).

2. cmd.CommandTimeout = 0;

Hermilson T.
MCDBA, MCSD
Colombia

"Oriol" wrote:

Hola a todos,

Tengo una aplicacion en Consola con C# que ataca a una BD en SQL Server.
Tengo una consulta bastante grande y me da timeouts. He modificado el
timeout desde C# pero me sigui dando timeout, y me da el error antes que se
acabe el tiempo que yo le he puesto. Como puedo indicar que espere mas? O
tambien tengo que indicarlo en el SQL Server?

Aqui pongo el codigo en C# para ayudarles:


SqlCommand cmd= new SqlCommand();

cmd.Connection = Connexion;

cmd.CommandTimeout = 600; // Pongo el TimeOut a 10 minutos.

cmd.CommandType = CommandType.StoredProcedure;

cmd.CommandText = "RecuperarDatos";

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataSet ds = new DataSet();

da.Fill(ds,"Datos");

El problema como veis es que le doy 10 minutos de tiempo (estoy haciendo
pruebas) para devolver los datos, que ejecutados desde el Query Analizer me
tarda sobre 1:30 o 2 minutos. Porque sigui dando el problema?

Gracias y saludos.

Oriol.





Respuesta Responder a este mensaje
#3 Gustavo Larriera [MVP]
22/10/2004 - 14:46 | Informe spam
La experiencia indica que algo que demora... si le aumentas el timeout vas a
lograr que demore más hasta que vuelva a dar un timeout.

En mi opinión, analizaría la consulta que estás ejecutando para ver si
realmente es lenta. Ejecuta tu consulta directamente en el Query Analyzer de
SQL, para saber si ejecuta en tiempo razonable.

Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Oriol" <intranet[arroba]rvsa-itv.com> wrote in message
news:
Hola a todos,

Tengo una aplicacion en Consola con C# que ataca a una BD en SQL Server.
Tengo una consulta bastante grande y me da timeouts. He modificado el
timeout desde C# pero me sigui dando timeout, y me da el error antes que
se
acabe el tiempo que yo le he puesto. Como puedo indicar que espere mas? O
tambien tengo que indicarlo en el SQL Server?

Aqui pongo el codigo en C# para ayudarles:


SqlCommand cmd= new SqlCommand();

cmd.Connection = Connexion;

cmd.CommandTimeout = 600; // Pongo el TimeOut a 10 minutos.

cmd.CommandType = CommandType.StoredProcedure;

cmd.CommandText = "RecuperarDatos";

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataSet ds = new DataSet();

da.Fill(ds,"Datos");

El problema como veis es que le doy 10 minutos de tiempo (estoy haciendo
pruebas) para devolver los datos, que ejecutados desde el Query Analizer
me
tarda sobre 1:30 o 2 minutos. Porque sigui dando el problema?

Gracias y saludos.

Oriol.




Respuesta Responder a este mensaje
#4 Gustavo Larriera [MVP]
22/10/2004 - 14:46 | Informe spam
La experiencia indica que algo que demora... si le aumentas el timeout vas a
lograr que demore más hasta que vuelva a dar un timeout.

En mi opinión, analizaría la consulta que estás ejecutando para ver si
realmente es lenta. Ejecuta tu consulta directamente en el Query Analyzer de
SQL, para saber si ejecuta en tiempo razonable.

Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Oriol" <intranet[arroba]rvsa-itv.com> wrote in message
news:
Hola a todos,

Tengo una aplicacion en Consola con C# que ataca a una BD en SQL Server.
Tengo una consulta bastante grande y me da timeouts. He modificado el
timeout desde C# pero me sigui dando timeout, y me da el error antes que
se
acabe el tiempo que yo le he puesto. Como puedo indicar que espere mas? O
tambien tengo que indicarlo en el SQL Server?

Aqui pongo el codigo en C# para ayudarles:


SqlCommand cmd= new SqlCommand();

cmd.Connection = Connexion;

cmd.CommandTimeout = 600; // Pongo el TimeOut a 10 minutos.

cmd.CommandType = CommandType.StoredProcedure;

cmd.CommandText = "RecuperarDatos";

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataSet ds = new DataSet();

da.Fill(ds,"Datos");

El problema como veis es que le doy 10 minutos de tiempo (estoy haciendo
pruebas) para devolver los datos, que ejecutados desde el Query Analizer
me
tarda sobre 1:30 o 2 minutos. Porque sigui dando el problema?

Gracias y saludos.

Oriol.




Respuesta Responder a este mensaje
#5 Gustavo Larriera [MVP]
22/10/2004 - 14:50 | Informe spam
Oriol dice que la consulta ejecuta en pocos minutos en el Query Analyzer (5
veces en menos tiempo, que el tiempo definido como timeout en la
aplicación). Tal vez el timeout sea solamente el síntoma de otro problema de
conectividad.

Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Tinoco" wrote in message
news:
Hola

1. En el ConnectionString, existe un parametro Timeout, para no tener
problemas de desconexión este valor debería de ser cero (0).

2. cmd.CommandTimeout = 0;

Hermilson T.
MCDBA, MCSD
Colombia

"Oriol" wrote:

Hola a todos,

Tengo una aplicacion en Consola con C# que ataca a una BD en SQL Server.
Tengo una consulta bastante grande y me da timeouts. He modificado el
timeout desde C# pero me sigui dando timeout, y me da el error antes que
se
acabe el tiempo que yo le he puesto. Como puedo indicar que espere mas? O
tambien tengo que indicarlo en el SQL Server?

Aqui pongo el codigo en C# para ayudarles:


SqlCommand cmd= new SqlCommand();

cmd.Connection = Connexion;

cmd.CommandTimeout = 600; // Pongo el TimeOut a 10 minutos.

cmd.CommandType = CommandType.StoredProcedure;

cmd.CommandText = "RecuperarDatos";

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataSet ds = new DataSet();

da.Fill(ds,"Datos");

El problema como veis es que le doy 10 minutos de tiempo (estoy haciendo
pruebas) para devolver los datos, que ejecutados desde el Query Analizer
me
tarda sobre 1:30 o 2 minutos. Porque sigui dando el problema?

Gracias y saludos.

Oriol.





Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida