sii. de hecho si el parametro intervalo es mas pequeño (entre 3 y 6) el lo hace 
sin problemas, pero cuando le paso un valor mayor (12 en adelante) viene el 
lio. ¿hay alguna manera de ejecutar procedimiento de manera asincrónica?.

PEPE
  ----- Original Message ----- 
  From: Javier Wamba 
  To: [email protected] 
  Sent: Tuesday, October 21, 2008 2:31 PM
  Subject: [puntonet] duda con el timeout al ejecutar un procedimiento 
almacenado


  Una pregunta, estas seguro que resuelve la ip de la base de datos desde el 
Server?

   

  Javier

   


------------------------------------------------------------------------------

  From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Pepe Ballaga
  Sent: Tuesday, October 21, 2008 4:26 PM
  To: [email protected]
  Subject: [puntonet] 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

   

   

Responder a