Foros del Web » Programando para Internet » ASPX (.net) »

Ejecutar Procedimientos almacenados complejos

Estas en el tema de Ejecutar Procedimientos almacenados complejos en el foro de ASPX (.net) en Foros del Web. Hola a todos, estoy migrando un sistema windows a web, pero me he encontrado con el siguiente inconveniente: la aplicacion windows anterior ejecuta un procedimiento ...
  #1 (permalink)  
Antiguo 26/03/2007, 17:15
 
Fecha de Ingreso: julio-2006
Mensajes: 24
Antigüedad: 18 años, 5 meses
Puntos: 0
Ejecutar Procedimientos almacenados complejos

Hola a todos,
estoy migrando un sistema windows a web, pero me he encontrado con el siguiente inconveniente: la aplicacion windows anterior ejecuta un procedimiento almacenado que tarda en procesar 1 hora y media mientras realiza calculos contables, pero en la aplicacion web no puedo mandar ejecutarlo porque me arroja el error TIEMPO DE ESPERA CADUCO, dentro de la aplicacion windows tengo otros procedimientos que tardan mucho en ejecutarse, ya he probado de todo en la version web pero no espera a que el procedimiento almacenado termine de ejecutarse, probe cambiandole el tiempo en el webconfig, en las propiedades del procemiento almacenado en sql server 2000 y nada me funciona. si a alguien se le ocurre una buena idea para solucionar este problema porfavor comentenmelo, voy a probar que la pagina web le entregue el control a una aplicacion windows que me haga el proceso y espere su finalizacion, pero si alguien tiene una mejor idea porfavor aganmelo saber.
estoy programando en c#.net y mi base de datos esta en sql server 2000

Gracias de antemano
  #2 (permalink)  
Antiguo 27/03/2007, 01:38
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 20 años, 4 meses
Puntos: 2
Re: Ejecutar Procedimientos almacenados complejos

Hola, muy wenas, como haces la conexión?
  #3 (permalink)  
Antiguo 27/03/2007, 01:38
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 20 años, 4 meses
Puntos: 2
Re: Ejecutar Procedimientos almacenados complejos

Como haces la conexion? si por ejemplo es sql server, no te funciona asignándole al command el timeout?

Por ejemplo,

strConstring = ConfigurationSettings.AppSettings("constring")
sqlConn = New SqlConnection(strConstring)
sqlConn.Open()
sqlCmd = New SqlCommand
sqlCmd.Connection = sqlConn
sqlCmd.CommandTimeout = 30

Saludos
  #4 (permalink)  
Antiguo 29/03/2007, 23:14
Avatar de Thumper  
Fecha de Ingreso: agosto-2004
Ubicación: Jesús María - Lima - Perú
Mensajes: 270
Antigüedad: 20 años, 4 meses
Puntos: 6
Re: Ejecutar Procedimientos almacenados complejos

Ponle
sqlCmd.CommandTimeout = 0 'para q el periodo sea indefinido
__________________
Martín Alexis Valdivia S.
-----------------------------
"Quisiéramos cambiar el mundo, pero Dios no nos daría el código fuente." CAP
"Si Saber No Es Un Derecho, Seguro Será Un Izquierdo." WD
  #5 (permalink)  
Antiguo 20/04/2007, 16:27
 
Fecha de Ingreso: julio-2006
Mensajes: 24
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: Ejecutar Procedimientos almacenados complejos

Gracias por sus mensaje, javiermil la conexion la hice como esta en tu codigo que pusiste y el sqlCmd.CommandTimeout = 0 pero me sigue saliendo el mensaje, lo solucione mandando ejecutar los procedimientos almacendos desde la aplicacion WEB mandando ejecutar un job Pero ahora no se como informarle al usuario que el job de sql server termino de jecutarse.
La aplicacion web manda ejecutar el job y se libera, quedando la ejecucion de los SP a cargo de SQL server, ahora necesito como leer de algun lado que el job termino, prove otras cosas para que la web me espere la ejecucion pero nada me funciona.

Gracias por sus comentarios..
  #6 (permalink)  
Antiguo 20/04/2007, 17:37
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años
Puntos: 38
Re: Ejecutar Procedimientos almacenados complejos

puedes almacenar el estatus del proceso en una tabla (tipo una bandera) y agregar la funcionalidad en las paginas web para que el usuario consulte cuando desee ese valor y asi saber si el proceso se esta ejecutando o ya terminó....

adicionalmente al terminar el job podria mandar un correo a los implicados...

bueno son solo sugerencias...
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #7 (permalink)  
Antiguo 21/04/2007, 09:36
 
Fecha de Ingreso: julio-2006
Mensajes: 24
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: Ejecutar Procedimientos almacenados complejos

Gracias andrespo tu sugerencia. te cuento que lo probe, puse una bandera en una tabla y desde el cliente consulto pero me genera bloqueo de la tabla ya que el job la tiene cojida.

Por favor regalemen sus sugerencias para probarlas
  #8 (permalink)  
Antiguo 23/04/2007, 07:59
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años
Puntos: 38
Re: Ejecutar Procedimientos almacenados complejos

pueba agregando el Hit (nolock) en el select...

p.e.
Código:
Select bandera
From   tblMiTabla (nolock)
Where MiCondicion....
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #9 (permalink)  
Antiguo 26/04/2007, 12:57
Avatar de Farookh_Bulsara  
Fecha de Ingreso: mayo-2004
Mensajes: 1.185
Antigüedad: 20 años, 7 meses
Puntos: 2
Re: Ejecutar Procedimientos almacenados complejos

que es un procedimiento almacendao? y porq tarda 1 hora y media en ser procesado?
__________________
"Todas las cosas deben mostrarse primero con mascaras tetricas y terrorificas para que puedan inscribirse a si mismas en el corazon de la humanidad"
  #10 (permalink)  
Antiguo 01/05/2007, 17:12
 
Fecha de Ingreso: enero-2004
Mensajes: 310
Antigüedad: 21 años
Puntos: 0
Re: Ejecutar Procedimientos almacenados complejos

Si tarda mas de una hora yo lo haria en un job mas que una aplicacion lo lanze...
__________________
Un saludo,
Trucos
Videos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:57.