sql >> Database teknologi >  >> RDS >> Sqlserver

Få serveren til at køre automatisk asp-script hver dag

Tilpasset fra en artikel, jeg skrev på aspfaq.com for år siden.

Brug AT-kommandoen og Windows Scripting Host (eller den mere rudimentære opgaveplanlægger) til at planlægge en VBS-fil med bestemte intervaller.

Først skal du ændre ASP til en VBS-fil. Dette opnås ved (1) at ændre udvidelsen til VBS; (2) ændring af alle Server.CreateObject-kald til CreateObject; og, (3) fjernelse af alle <%%> afgrænsningstegn og enhver browserbestemt kode (f.eks. response.write-sætning eller HTML på klientsiden). Jeg stødte ikke på yderligere komplikationer, men YMMV.

Du gemmer VBS-filen i filsystemet og bruger AT-kommandoen til at planlægge den (dette planlægger faktisk dens eksekvering med Windows's planlægningstjeneste). Ved en kommandoprompt kan du bruge AT alene til at se en liste over opgaver, der i øjeblikket er i tidsplanen. Du kan bruge AT /? for at finde ud af alle dens syntaksmuligheder.

For at få en fil til at køre hver hverdag kl. 9:00, starter jeg denne batchfil (den første linje rydder eksisterende poster):    

at /delete /y 
at 9:00 /every:m,t,w,th,f d:\net\shared\getdata.vbs      

Bemærk, at der ikke er nogen webserver involveret; filen tilgås direkte via filsystemet. Når jeg kom over "en bruger skal være logget ind" og "opgaverne skal nulstilles, når de genstartes" (som jeg mener begge er problemer med den bestemte maskine, der ikke er under vores kontrol), har alt kørt fint for mig.

For et eksempel på brug af WSH, CDONTS og Task Scheduler til at udsende e-mails regelmæssigt, se KB #221495 .

Hvis alt du laver er databasearbejde i SQL Server, kan du overveje at bruge et job. Dette vil give dig mulighed for at beholde al behandlingen af ​​jobbet i din database og forhindre komplikationer forbundet med flere systemer, forbindelser og tilpasning af ASP-kode til at være ikke-ASP-lignende i adfærd.



  1. behandling af et stort antal databaseposter med personsøgning bliver langsommere med tiden

  2. hvordan man bruger xmltable i oracle?

  3. Når du udfører en lagret procedure, hvad er fordelen ved at bruge CommandType.StoredProcedure i forhold til at bruge CommandType.Text?

  4. Kontrollerer flere kolonner for én værdi