Yo veria de modificar el Stored Procedure. Un Cursor no es recomendable. Y un ExecSql tengo entendido que tampoco. Por lo pronto, veria de cambiarle el TimeOut a la conexion con la que ejecutas el SP desde el ASPX.
________________________________ Sebastian Gambolati ----- Mensaje original ---- De: Pepe Ballaga <[EMAIL PROTECTED]> Para: vbusers List Member <[email protected]> Enviado: martes 21 de octubre de 2008, 15:26:24 Asunto: [vbusers] duda con el timeout al ejecutar un procedimiento almacenado Holaaa pues resulta que tengo este procedimiento almacenado y me da Timeout cuando lo mando a ajecutar desde la página aspx. sin embargo si lo corro directamente; pues lo hace muy bian. ¿alguna ayuda con esto?. ya probé en el web config a ponerle al conectiontimeout=0 o =300 y me sigue dando lo mismo. Muchas Gracias PEPE Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. SqlConnection conn = new SqlConnection(Base.SelectedValue.ToUpper().Trim() == "TURBINA" ? System.Configuration.ConfigurationManager.ConnectionStrings["turbina"].ConnectionString.ToString() : System.Configuration.ConfigurationManager.ConnectionStrings["caldera"].ConnectionString.ToString()); SqlCommand comando = new SqlCommand(); comando.Connection = conn; //conn.ConnectionTimeout = 0; comando.CommandText = "listar_variables"; comando.CommandType = CommandType.StoredProcedure; comando.Parameters.Clear(); comando.Parameters.Add(new SqlParameter("@tiempo", fechador1.Fecha_seleccionada)); comando.Parameters.Add(new SqlParameter("usuario", "PEPE" )); comando.Parameters.Add(new SqlParameter("@intervalo",Convert.ToInt32(horas.Text))); conn.Open(); //comando.Connection.Open(); comando.ExecuteNonQuery(); conn.Close(); el procedimiento alamcenado esta un poquito largo; pero es este: ALTER PROCEDURE listar_variables @tiempo datetime, @usuario nvarchar(50), @intervalo smallint AS set xact_abort on begin transaction general declare @nombretabla as nvarchar(50) declare @variable as nvarchar(50) declare @sql as nvarchar(4000) declare @vez as smallint set @vez=0 delete temporal where [EMAIL PROTECTED] --declare tablas CURSOR FOR SELECT table_name, column_name from INFORMATION_SCHEMA.COLUMNS where table_name='log5sec' or table_name='log30sec' and table_column<>'timecol' and table_column<>'Msecol' and table_column<>'localcol' and table_column<>'usercol' and declare tablas CURSOR FOR SELECT table_name, column_name from INFORMATION_SCHEMA.COLUMNS where (TABLE_NAME = 'log5sec' OR TABLE_NAME = 'log30sec') AND (COLUMN_NAME NOT LIKE '%col%') order by table_name open tablas FETCH NEXT FROM tablas into @nombretabla, @variable while @@FETCH_STATUS = 0 begin declare @fechainicial as datetime set @fechainicial = @tiempo declare @fechafinal as datetime set @fechafinal= DATEADD (hh , @intervalo, @tiempo) while @fechainicial<[EMAIL PROTECTED] begin DECLARE @SQLString nvarchar(4000) DECLARE @ParmDefinition nvarchar(4000) DECLARE @valor float(24) set @valor=0 SET @SQLString = 'SELECT @valorOUT='[EMAIL PROTECTED]' FROM '[EMAIL PROTECTED]' WHERE timecol= @tiempon' ; SET @ParmDefinition = '@tiempon datetime, @valorOut float(24) OUT'; EXECUTE sp_executesql @SQLString, @ParmDefinition, @[EMAIL PROTECTED] , @valorOUT = @valor OUT ; SELECT @valor; if @vez=0 set @sql='insert into temporal (tiempo, usuario, '[EMAIL PROTECTED]') values ('+char(39)+cast(@fechainicial as nvarchar(50))+char(39)+', '+char(39)[EMAIL PROTECTED](39)+','+char(39)+cast(@valor as nvarchar(50)) +char(39)+')' else set @sql='update temporal set '[EMAIL PROTECTED]'='+char(39)+cast(@valor as nvarchar(50)) +char(39)+' where tiempo='+char(39)+cast(@fechainicial as nvarchar(50))+char(39)+' and usuario='+char(39)[EMAIL PROTECTED](39)+ '' execute (@sql) set @fechainicial= DATEADD (hh , 1, @fechainicial) end set @vez=1 FETCH NEXT FROM tablas into @nombretabla, @variable end close tablas deallocate tablas commit transaction general __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! ¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
