Foros del Web » Programando para Internet » ASP Clásico »

Como ejecutar un ASP a determinada hora?

Estas en el tema de Como ejecutar un ASP a determinada hora? en el foro de ASP Clásico en Foros del Web. Con los planificadores de tareas de windows puedo correr un ASP?, dado que necesito que todas las noches ejecute una consulta y cree un txt, ...
  #1 (permalink)  
Antiguo 05/05/2006, 07:27
 
Fecha de Ingreso: agosto-2003
Mensajes: 203
Antigüedad: 21 años, 8 meses
Puntos: 0
Como ejecutar un ASP a determinada hora?

Con los planificadores de tareas de windows puedo correr un ASP?, dado que necesito que todas las noches ejecute una consulta y cree un txt, esto lo tengo hecho en un ASP pero no se como hacer para que se ejecute todos los dias automaticamente.

Muchas Gracias
  #2 (permalink)  
Antiguo 05/05/2006, 09:58
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 19 años, 5 meses
Puntos: 3
Necesitas construir un programita de extension .vbs... es practicamente lo mismo que ASP; con la salvedad que puedes crear una tarea programada que sea gatillada segun la programacion que le des....
  #3 (permalink)  
Antiguo 05/05/2006, 10:11
 
Fecha de Ingreso: agosto-2003
Mensajes: 203
Antigüedad: 21 años, 8 meses
Puntos: 0
Gracias por la respuesta

Tengo un inconveniente, es que no manejo VBS, o sea se que no es demasiado diferente al codigo que ya tengo en ASP pero como no tengo instalado el programa para programar en VBS me es bastante complicado armarlo, hay algun sitio donde pueda ver como pasar de un ASP a un VBS.

pongo el modelo de codigo que tengo.

Código:
dim fs, tfile
Set fs=Server.CreateObject("Scripting.FileSystemObject")
dirTxt=Server.MapPath(WCsBasePath)&"\"
set tfile = fs.CreateTextFile (dirTxt&"activos.txt")
set rs=conn.execute("Select * From visEnvioDetallado Where Completado is Null and Completado1 is Null Order by FechaVence, Reenvio_Vence")
Do Until rs.eof
  enTxt = 0
  if rs("anulado")=1 Then
     enTxt = 0
  Else
     enTxt = 1
     vence=rs("FechaVence")
  End If
  IdP = rs("idparticipante")
  If enTxt = 1 Then 
   set rsP=conn.execute("Select * From Participantes Where id='"&IdP&"'")
   tfile.WriteLine rsP("CodigoNt")&","&vence
  End if
  rs.MoveNext
Loop
Set fs = Nothing 
Set tfile = Nothing
  #4 (permalink)  
Antiguo 05/05/2006, 10:13
 
Fecha de Ingreso: enero-2006
Ubicación: mi casa
Mensajes: 255
Antigüedad: 19 años, 3 meses
Puntos: 0
Cita:
Iniciado por lenz
Tengo un inconveniente, es que no manejo VBS, o sea se que no es demasiado diferente al codigo que ya tengo en ASP pero como no tengo instalado el programa para programar en VBS me es bastante complicado armarlo, hay algun sitio donde pueda ver como pasar de un ASP a un VBS.

pongo el modelo de codigo que tengo.

Código:
dim fs, tfile
Set fs=Server.CreateObject("Scripting.FileSystemObject")
dirTxt=Server.MapPath(WCsBasePath)&"\"
set tfile = fs.CreateTextFile (dirTxt&"activos.txt")
set rs=conn.execute("Select * From visEnvioDetallado Where Completado is Null and Completado1 is Null Order by FechaVence, Reenvio_Vence")
Do Until rs.eof
  enTxt = 0
  if rs("anulado")=1 Then
     enTxt = 0
  Else
     enTxt = 1
     vence=rs("FechaVence")
  End If
  IdP = rs("idparticipante")
  If enTxt = 1 Then 
   set rsP=conn.execute("Select * From Participantes Where id='"&IdP&"'")
   tfile.WriteLine rsP("CodigoNt")&","&vence
  End if
  rs.MoveNext
Loop
Set fs = Nothing 
Set tfile = Nothing
Todo el codigo que tienes ahi es VBS.
  #5 (permalink)  
Antiguo 05/05/2006, 10:24
 
Fecha de Ingreso: agosto-2003
Mensajes: 203
Antigüedad: 21 años, 8 meses
Puntos: 0
Disculpa mi ignorancia

Si todo ese codigo es VBS, con solo cambiarle la extencion podria ejecutarlo como una tarea programada o hay que complilarlo de alguna manera.
Por otro lado yo antes de ello hago un include para hacer la conexion a la base de datos, la cual ejecuto asi
<!-- #include file="ASP_Comunes/conn.asp" -->
y en ese archivo el codigo es
Código:
dim conn
set conn = server.createobject("ADODB.Connection")
conn.Open "DSN=Autoe;UID=autoe;PWD=autoe;"
WCsBasePath = "/Encuestas Edesur/"
Este include tambien se puede mantener o debo agregarlo en el codigo directamente, y la conexion funciona correctamente de esta manera.
Nuevamente muchas gracias por contestar, estoy algo apurado con los tiempos.
  #6 (permalink)  
Antiguo 05/05/2006, 11:00
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 19 años, 5 meses
Puntos: 3
No... para eso creas una funcion con lo que tienes en el include y en el programa lo invocas..

Function Connect
'-----------
dim conn
set conn = server.createobject("ADODB.Connection")
conn.Open "DSN=Autoe;UID=autoe;PWD=autoe;"
WCsBasePath = "/Encuestas Edesur/"
conn.ConnectionTimeOut = 200

end Function

Cuando tengas el programa lo ejecutas asi
cscript programita.vbs //NOlogo

Si quieres crear una tarea programada contruyes un .bat que invoque al programa algo asi
genera.bat
@echo off
time /T
echo Comienza Proceso de generacion de archivo txt
cscript programita.vbs //NOlogo
echo Fin Proceso de Generacion Archivo
time /T

Luego si quieres creas otro .bat que llame al genera y te deje un archivo de log con el resultado de la ejecucion .. asi
ejecuta.bat
call genera.bat > programita.log

Por lo que la tarea programada va solo el ejecuta.bat... que llama al genera.bat y este ultimo invoca al programa y realiza lo que quieres.....

Ahora tambien el resultado de todo eso puedes enviarlo directamente por correo al administrador o a quien quieras... para eso tienen solo que crear otro programa .vbs con el mensaje; los attach, etc... pero eso es otra cosa que tambien se puede hacer...

Suerte
  #7 (permalink)  
Antiguo 05/05/2006, 12:23
 
Fecha de Ingreso: agosto-2003
Mensajes: 203
Antigüedad: 21 años, 8 meses
Puntos: 0
Muchas Gracias

Ya como ultima cosa, tienen el link para bajar el programa para conpilar el codigo, o hay alguna version que me convenga bajar dado que no lo voy a usar demasiado.
Nuevamente muchas gracias. Espero poderles ser util alguna vez yo.
  #8 (permalink)  
Antiguo 05/05/2006, 13:13
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 19 años, 5 meses
Puntos: 3
Verifica primero si tienes instalado el Visual Basic® Script Edition (VBScript.).... vas a directorio windows/system32 y buscas cscript.exe... si lo tienes puedes comenzar a usarlo; sino debes de instalar el wsh... ese trae el vbscript...
Este link permite descargar version ingles...pero te la mando para que te hagas una idea de lo que debes de instalar

http://www.microsoft.com/downloads/d...DisplayLang=en
  #9 (permalink)  
Antiguo 08/05/2006, 08:40
 
Fecha de Ingreso: agosto-2003
Mensajes: 203
Antigüedad: 21 años, 8 meses
Puntos: 0
Muchas Gracias

Ya estaba instalado, tras varias pruebas logre que creara el txt tal como queria.
Nuevamente muchas gracias
  #10 (permalink)  
Antiguo 08/05/2006, 20:54
 
Fecha de Ingreso: enero-2006
Ubicación: Maracay, Edo. Aragua
Mensajes: 206
Antigüedad: 19 años, 3 meses
Puntos: 0
Hmmmm...no entiendo por qué tanta complicación...lo más lógico es hacer un Storeprocedure desde la base de datos...bueno, si es que estás utilizando SQL SERVER, claro está.
  #11 (permalink)  
Antiguo 09/05/2006, 06:34
 
Fecha de Ingreso: agosto-2003
Mensajes: 203
Antigüedad: 21 años, 8 meses
Puntos: 0
El tema es que el cliente me pedia un VBS para ejecutarlo todas las noches, no se porque no podia ser un ASP todo el sistema esta en ASP pero queria que este archivo que se ejecutara automaticamente diariamente, sea VBS, podria haber corrido un ASP de forma sincronizanda? "Storeprocedure" como ejecuto esto para que me genere un txt desde la consulta?
De todos modos ya arme el VBS.
Muchas Gracias
  #12 (permalink)  
Antiguo 04/11/2008, 15:52
Avatar de Sarai  
Fecha de Ingreso: enero-2003
Ubicación: Alli donde Dios ha coloca
Mensajes: 91
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: Como ejecutar un ASP a determinada hora?

Auxilio a todos, voy con mi requerimiento, espero me ayuden please ando al borde...

Leyendo este temea estoy realmente interesada.

Me pasa exactamente lo mismo que este requerimiento, quiero ejecutar un script a una hora determinada automaticamente, lo hice en asp, como dice el post, solo cambie la extension a vbs, el detalle es que siempre se detiene en las lineas que tengan alguna llamada al "Server".

Ejecutandolo por consolsa con script miscrip.vbs me sale siempre Error de Microsfoft VBScript en tiempo de ejecución, se requiere un objeto 'Server' y ya no se que hacer.

Este vbs usa server,mappath para ubicar un archivo de texto en el directorio, y usa server en estas dos ocasiones mas :
Set oConn = Server.CreateObject("ADODB.Connection")
Set oRs = Server.CreateObject("ADODB.Recordset")

Ayudenme please, agradecida estaré.

Alguien que me responda si puede con tiempo a [email protected]

Gracias
__________________
*** La ciencia lo es ÉL ***
  #13 (permalink)  
Antiguo 06/11/2008, 17:54
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Respuesta: Como ejecutar un ASP a determinada hora?

acorde a las políticas del foro:

1) No debes revivir temas viejos con información que no contribuya a resolver el tema inicial
2) No debes solicitar que se mande respuesta a tu correo

y aunque no esta en las políticas, deberías de buscar primero antes de preguntar, esa duda ya ha sido respondida ampliamente en el foro, busca en las respuestas anteriores.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 13:26.