Programación Web y Scripting > ASP
Valor De Tiempo De Espera Caducado???q
(1/1)
kejos:
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: Text ---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: Text ---CREATE PROCEDURE dbo.spObtenerBusquedaOMaterialesTCampos @CamposBuscar varchar(250), @IDTipoMaterial intASDECLARE @NombreAutor VARCHAR(1000)DECLARE @NAutores varchar(250)DECLARE @IDLibro intDECLARE @IDLibro2 intDECLARE @NIDLibro intDECLARE @Clasif varchar(20)DECLARE @Clasif2 VARCHAR(20)DECLARE @IDTMat intDECLARE @IDTMat2 intDECLARE @LibAnt INTDECLARE @LibSig INTDECLARE @Titulo VARCHAR(250)DECLARE @Titulo2 VARCHAR(250)SET @NombreAutor = ''SET @NAutores = ''SET @Clasif2 = ''set @IDLibro2 = 0SET @IDTMat2 = 0CREATE 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.IDTipoMaterialFROM 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.IDAutorWHERE (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_CursorFETCH 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 ENDFETCH NEXT FROM Autores_Cursor INTO @IDLibro, @Titulo, @NombreAutor, @Clasif, @IDTMat SET @LibSig = @IDLibro ENDCLOSE Autores_CursorDEALLOCATE Autores_CursorINSERT 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 #LibAutGO
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.cs 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.
Navegación
Ir a la versión completa