Adattato da un articolo che ho scritto su aspfaq.com anni fa.
Utilizzare il comando AT e Windows Scripting Host (o l'utilità di pianificazione più rudimentale) per pianificare un file VBS a determinati intervalli.
Innanzitutto, cambia l'ASP in un file VBS. Ciò si ottiene (1) modificando l'estensione in VBS; (2) modifica di tutte le chiamate Server.CreateObject in CreateObject; e, (3) rimuovendo tutto <%%>
delimitatori e qualsiasi codice destinato al browser (ad esempio, istruzione response.write o HTML lato client). Non ho riscontrato ulteriori complicazioni, ma YMMV.
Memorizzi il file VBS nel filesystem e usi il comando AT per pianificarlo (questo in realtà pianifica la sua esecuzione con il servizio di pianificazione di Windows). Al prompt dei comandi, puoi utilizzare AT da solo per visualizzare un elenco di attività attualmente nella pianificazione. Puoi usare AT /? per scoprire tutte le sue possibilità di sintassi.
Ad esempio, per eseguire un file ogni giorno della settimana alle 9:00, lancio questo file batch (la prima riga cancella le voci esistenti):
at /delete /y
at 9:00 /every:m,t,w,th,f d:\net\shared\getdata.vbs
Si noti che non è coinvolto alcun server web; si accede al file direttamente tramite il file system. Una volta superati gli ostacoli "un utente deve essere connesso" e "le attività devono essere ripristinate al riavvio" (entrambi i quali credo siano problemi con la macchina particolare che non è sotto il nostro controllo), tutto è stato eseguito bene per me.
Per un esempio dell'utilizzo di WSH, CDONTS e dell'Utilità di pianificazione per inviare regolarmente e-mail, vedere KB #221495 .
Se tutto ciò che stai facendo è lavorare con il database in SQL Server, potresti prendere in considerazione l'utilizzo di un lavoro. Ciò ti consentirà di mantenere tutta l'elaborazione del lavoro all'interno del tuo database e prevenire le complicazioni associate a più sistemi, connessioni e adattamento del codice ASP in modo che non abbiano un comportamento simile ad ASP.