Error "Valor de tiempo de espera caducado. El período de tiempo de espera caducó antes de completar la operación o el servidor no responde"

21/10/2007 - 13:38 por el.sarda | Informe spam
hola, tengo un problema en visual studio 2005, utilizo el sql server
que trae integrado y me da el siguiente error "Valor de tiempo de
espera caducado. El período de tiempo de espera caducó antes de
completar la operación o el servidor no responde".

El problema se da despues de iniciar una transaccion, hacer varios
select,update,insert. Cuando intento hacer otro select me sale el
error. Sera que son demasiadas operaciones para una transaccion? no
tengo ni idea pq me da ese error.

saludos

Preguntas similare

Leer las respuestas

#1 Francisco Matamoros
22/10/2007 - 17:34 | Informe spam
Revisa el timeout de la conexión antes de nada y si puedes, también las
sentencias de la transacción, no sea que sea demasiado. He llegado a ver
cómo alguien habría una transacción en el login y la cerraba al cerrar la
aplicación. Supongo que no es el caso

escribió en el mensaje
news:
hola, tengo un problema en visual studio 2005, utilizo el sql server
que trae integrado y me da el siguiente error "Valor de tiempo de
espera caducado. El período de tiempo de espera caducó antes de
completar la operación o el servidor no responde".

El problema se da despues de iniciar una transaccion, hacer varios
select,update,insert. Cuando intento hacer otro select me sale el
error. Sera que son demasiadas operaciones para una transaccion? no
tengo ni idea pq me da ese error.

saludos
#2 el.sarda
31/10/2007 - 10:46 | Informe spam
On 22 oct, 16:34, "Francisco Matamoros" wrote:
Mostrar la cita
he aumentado el timeout y nada seguia igual, la unica manera que se me
ocurrio para solucionarlo fue reducir el numero de select que hago una
vez abierta la transaccion. es una solucion temporal pq me gustaria
saber pq fallaba, no creo que fuera tantas consultas para una
transaccion sino que caca el sql server ;)

saludos
#3 leoburet
06/11/2007 - 18:45 | Informe spam
On 31 oct, 06:46, wrote:
Mostrar la cita
Tené en cuenta de cerrar y llamar al dispose de cada DataReader que
tengas abierto.
#4 el.sarda
07/11/2007 - 11:14 | Informe spam
On 6 nov, 18:45, wrote:
Mostrar la cita
utilizo para hacer los select un sqldataadapter.fill() y asi lleno la
tabla con los datos.

this._comando.CommandText = consultaSQL;
this._adap.SelectCommand = this._comando;
try
{
this._adap.Fill(tabla);
return tabla;
}
catch (Exception ex)
{
throw new Exception("error: " + ex.Message);
}

El utilizar el adapter es el causante del error. Cada vez que hago un
select creo una conexion nueva, asigno la consulta al sqlcommand,
asigno el sqlcommand al adapter y con el adapter hago el fill.

El error se da exactamente cuanto inicio la transaccion, modifico una
tabla, luego hago una consulta select sobre la tabla modificada
(creando una nueva conexion como explique antes), al hacer
sqldataadapter.fill() para recuperar los datos se produce el timeout.
Si hago la consulta sobre una tabla modificada en la transaccion no se
produce el error. La solucion fue usar la propia conexion que uso para
la transaccion. De todas formas alguien podria decirme pq se producia
el error? me imagino que podria ser pq en una transaccion mientras no
hagas el comit() los datos no quedan fijos entonces el adapter de la
nueva conexion se hara un lio.
#5 el.sarda
07/11/2007 - 11:21 | Informe spam
On 6 nov, 18:45, wrote:

Mostrar la cita
utilizo para hacer los select un sqldataadapter.fill() y asi lleno la
tabla con los datos.

public class BaseDatos
{
private SqlConnection _cnx = new SqlConnection();
private SqlCommand _comando= new SqlCommand();
private SqlDataAdapter _adap = new SqlDataAdapter();

public BD()
{
_cnx.ConnectionString = "String de conexion.";
_comando.Connection = this._cnx;
}

public datatable metodoSelect(string consulta)
{
this._comando.CommandText = consultaSQL;
this._adap.SelectCommand = this._comando;
try
{
this._adap.Fill(tabla);
return tabla;
}
catch (Exception ex)
{
throw new Exception("error: " + ex.Message);
}
}
}

El utilizar el adapter es el causante del error. Cada vez que hago un
select creo una conexion nueva, asigno la consulta al sqlcommand,
asigno el sqlcommand al adapter y con el adapter hago el fill.

El error se da exactamente cuanto inicio la transaccion, modifico una
tabla, luego hago una consulta select sobre la tabla modificada
(creando una nueva conexion como explique antes), al hacer
sqldataadapter.fill() para recuperar los datos se produce el timeout.
Si hago la consulta sobre una tabla no modificada en la transaccion no
se
produce el error. La solucion fue usar la propia conexion que uso para
la transaccion. De todas formas alguien podria decirme pq se producia
el error? me imagino que podria ser pq en una transaccion mientras no
hagas el comit() los datos no quedan fijos entonces el adapter de la
nueva conexion se hara un lio.
Ads by Google
Search Busqueda sugerida