Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/12/2006, 07:49
Avatar de kejos
kejos
 
Fecha de Ingreso: septiembre-2005
Mensajes: 100
Antigüedad: 19 años, 3 meses
Puntos: 0
Pregunta valor de tiempo de espera caducado???

Hola a todos!!!!!!

Tengo un pequeño problema que sinceramente no he sabido a que se debe....
Es lo siguiente:
Yo en mi aplicación tengo que hacer unas consultas a la base de datos que estoy haciendo de la siguiente manera:

Código:
DataSet dsTodo = new DataSet();
dsTodo = sesion.obtenerDataSet("spObtenerBusquedaLibrosTCampos", parametroBuscar);
dsTodo.Merge(sesion.obtenerDataSet("spObtenerBusquedaOMaterialesTCampos", parametro2));
dsTodo.Merge(sesion.obtenerDataSet("spObtenerBusquedaOMaterialesTCampos", parametro4));
dsTodo.Merge(sesion.obtenerDataSet("spObtenerBusquedaOMaterialesTCampos", parametro5));
dsTodo.Merge(sesion.obtenerDataSet("spObtenerBusquedaOMaterialesTCampos", parametro7));
dsTodo.Merge(sesion.obtenerDataSet("spObtenerBusquedaOMaterialesTCampos", parametro9));
dsTodo.Merge(sesion.obtenerDataSet("spObtenerBusquedaOMaterialesTCampos", parametro10));
dsTodo.Merge(sesion.obtenerDataSet("spObtenerBusquedaOMaterialesTCampos", parametro12));
dsTodo.Merge(sesion.obtenerDataSet("spObtenerBusquedaOMaterialesTCampos", parametro13));
dsTodo.Merge(sesion.obtenerDataSet("spObtenerBusquedaTesisTCampos", parametroBuscar));
dsTodo.Merge(sesion.obtenerDataSet("spObtenerBusquedaPeliculasTCampos", parametroBuscar));
dsTodo.Merge(sesion.obtenerDataSet("spObtenerBusquedaArchivosTCampos", parametroBuscar));
dsTodo.Merge(sesion.obtenerDataSet("spObtenerBusquedaSeriadasTCampos", parametroBuscar));
return dsTodo;

Cómo pueden ver son varias consultas que llevo a un mismo dataset, la cosa es que a cada consulta en el administrador corporativo de SQlServer 2000 les agrego una tabla por la cual también necesito hacer la consulta y en el Sql y en el analizador de consultas me funciona la consulta, es decir me muestra lo que me debe mostrar. Una de las consultas es cómo la siguiente:

Código:
CREATE PROCEDURE dbo.spObtenerBusquedaOMaterialesTCampos
	@CamposBuscar varchar(250),
	@IDTipoMaterial int
AS
DECLARE @NombreAutor VARCHAR(1000)
DECLARE @NAutores varchar(250)
DECLARE @IDLibro int
DECLARE @IDLibro2 int
DECLARE @NIDLibro int
DECLARE @Clasif varchar(20)
DECLARE @Clasif2 VARCHAR(20)
DECLARE @IDTMat int
DECLARE @IDTMat2 int
DECLARE @LibAnt INT
DECLARE @LibSig INT
DECLARE @Titulo VARCHAR(250)
DECLARE @Titulo2 VARCHAR(250)
SET @NombreAutor = ''
SET @NAutores = ''
SET @Clasif2 = ''
set @IDLibro2 = 0
SET @IDTMat2 = 0
CREATE TABLE #LibAut (IDLibro INT, Titulo VARCHAR(250), Autores VARCHAR(2000), Clasificacion VARCHAR(20), IDTipoMaterial INT)
DECLARE Autores_Cursor CURSOR FOR 
SELECT TOP 300 dbo.OtrosMateriales.IDMaterial, dbo.OtrosMateriales.Titulo, dbo.Autores.Nombre + ' ' + dbo.Autores.Apellidos AS Autor, dbo.OtrosMateriales.Clasificacion, dbo.OtrosMateriales.IDTipoMaterial
FROM Materias RIGHT OUTER JOIN dbo.OtrosMaterialesMaterias ON dbo.Materias.IDMateria = dbo.OtrosMaterialesMaterias.IDMateria RIGHT OUTER JOIN dbo.OtrosMateriales ON dbo.OtrosMaterialesMaterias.IDMaterial = dbo.OtrosMateriales.IDMaterial LEFT OUTER JOIN  dbo.OtrosMaterialesAutores ON dbo.OtrosMateriales.IDMaterial = dbo.OtrosMaterialesAutores.IDMaterial LEFT OUTER JOIN dbo.Autores ON dbo.OtrosMaterialesAutores.IDAutor = dbo.Autores.IDAutor
WHERE (dbo.OtrosMateriales.IDMaterial IN (SELECT OtrosMateriales.IDMaterial FROM OtrosMateriales LEFT OUTER JOIN Ejemplares ON Ejemplares.IDMaterial = OtrosMateriales.IDMaterial LEFT OUTER JOIN OtrosMaterialesAutores ON OtrosMateriales.IDMaterial = OtrosMaterialesAutores.IDMaterial LEFT OUTER JOIN   Autores ON OtrosMaterialesAutores.IDAutor = Autores.IDAutor WHERE (Ejemplares.CodigoAcceso = @CamposBuscar OR OtrosMateriales.Titulo LIKE '%' + @CamposBuscar + '%'  OR Autores.Nombre LIKE '%' + @CamposBuscar + '%' OR Autores.Apellidos LIKE '%' + @CamposBuscar + '%' OR OtrosMateriales.Clasificacion LIKE @CamposBuscar + '%' OR (Autores.Nombre + ' ' + Autores.Apellidos) LIKE '%' + @CamposBuscar + '%' OR Materias.Materia LIKE '%' + @CamposBuscar + '%') AND  OtrosMateriales.IDTipoMaterial = @IDTipoMaterial AND OtrosMateriales.Titulo IS NOT NULL GROUP BY 	OtrosMateriales.IDMaterial))
OPEN Autores_Cursor
FETCH NEXT FROM Autores_Cursor INTO @IDLibro,@Titulo,@NombreAutor, @Clasif,  @IDTMat
	SET @LibAnt = @IDLibro
	SET @LibSig = @IDLibro
	WHILE	@@FETCH_STATUS = 0
	BEGIN
   		IF	@LibAnt = @LibSig AND @NAutores <> ''
   		BEGIN
			SET @NAutores = @NAutores +   ', '
   		END
   		IF	@LibAnt = @LibSig
   		BEGIN
			SET @NAutores = @NAutores +  @NombreAutor
			SET @LibAnt = @LibSig        
			SET @IDLibro2 = @IDLibro
			SET @Titulo2 =  @Titulo
			SET @Clasif2 =  @Clasif
			SET @IDTMat2 = @IDTMat
   		END
   		ELSE
   		BEGIN
			INSERT INTO #LibAut (IDLibro, Titulo, Autores, Clasificacion, 		IDTipoMaterial)
			Select	@IDLibro2,@Titulo2 ,@NAutores, @Clasif2, @IDTMat2
			SET @NAutores = ''
    			SET @NAutores = @NombreAutor	
			SET @LibAnt = @LibSig
			SET @IDLibro2 = @IDLibro
			SET @Titulo2 =  @Titulo
			SET @Clasif2 =  @Clasif
			SET @IDTMat2 = @IDTMat
   		END
FETCH NEXT FROM Autores_Cursor INTO @IDLibro, @Titulo, @NombreAutor,  @Clasif, @IDTMat
   		SET @LibSig = @IDLibro
	END
CLOSE Autores_Cursor
DEALLOCATE Autores_Cursor
INSERT INTO	#LibAut (IDLibro, Titulo, Autores, Clasificacion, IDTipoMaterial)
Select	@IDLibro2,@Titulo2 ,@NAutores,@Clasif2, @IDTMat2 
delete from	#LibAut where Titulo is null or Titulo = ''
select	IDLibro as IDMaterial,Titulo, Autores as Nombre, Clasificacion, IDTipoMaterial   from 	#LibAut
--DROP TABLE #LibAut
GO

Mi problema comienza cuando ejecuto la aplicación porque la ejecución funciona normalmente toda a excepción de las consultas porque cuando las voy a realizar me sale 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.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de la excepción: System.Data.SqlClient.SqlException: 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.

Error de código fuente:


Línea 83: SqlDataAdapter ObjDataAdapter=new SqlDataAdapter();
Línea 84: ObjDataAdapter.SelectCommand=objcommand;
Línea 85: ObjDataAdapter.Fill(dsGeneral);
Línea 86: objConnection.Close();
Línea 87:


Archivo de origen: c:\inetpub\wwwroot\sabio\libreriaclasessabio\sql.c s Línea: 85"


Aqui es donde yo no entiendo el porque de ese error si las consultas me funcionan en el Sql Server y el analizador de consultas, he intentado muchas cosas pero nada me funciona y me sigue saliendo el error, es más en el código llega a la primera consulta y cuando va a llenar el dataset es cuando me sale el error.

A quien me pueda a yudar a resolver este gran problema se lo agradezco de antemano.
__________________
Kelly Johana:si: