Avatar billede Slettet bruger
12. juni 2008 - 12:46 Der er 13 kommentarer

Aspemail - Timeout

Hej,

Jeg anvender aspemail til at udsende nyhedsbreve og det virker umiddelbart fint nok.

Problemet opstår når jeg udsender mere end ca. 50 mails ad gangen (har lavet et loop), så staller
den ligepludselig og kommer med en fejl:

Microsoft OLE DB Provider for SQL Server error '80040e31'
Timeout expired

og, jeg har sat en server scripttimeout øverst på .asp siden, så det kan ikke være det.

Det virker som om at det er selve aspemail funktionen der driller når den skal sende så mange ad gangen.

I mit script har jeg fx: også en response.flush.

Nogle der kan hjælpe??
Avatar billede w13 Novice
12. juni 2008 - 12:48 #1
Fejlbeskeden:
Microsoft OLE DB Provider for SQL Server error '80040e31'
tyder vel på, at det er din database, der timeouter?
Avatar billede Slettet bruger
12. juni 2008 - 13:50 #2
Ja, det ville jeg også selv mene, men det er kun når jeg sender mailen i lopopet at den driller. Der er ingen problemer, hvis jeg undlader at sende mailen og blot køre loopet igennem.
Avatar billede w13 Novice
12. juni 2008 - 13:55 #3
Så bruger mailforsendelsen vel så meget tid, at det timeouter databasen.

Du kunne måske hive data fra databasen ned i strings eller arrays, så du kan lukke databasen inden du begynder at sende mails?
Avatar billede Slettet bruger
12. juni 2008 - 14:00 #4
Måske, kan bare ikke tro at det er det. Tidligere har der faktisk ikke været problemer, det er et nyligt opstået problem. Men vil prøve med arrays. Jeg tror det er et problem med aspemail.
Avatar billede w13 Novice
12. juni 2008 - 14:03 #5
Du kan jo også lige teste det først ved at udelade database-forbindelsen og undlade at indsætte ting fra databasen i mailsene.
Avatar billede Slettet bruger
12. juni 2008 - 14:28 #6
Ja, det kunne jeg selvfølgelig lige prøve først.
Avatar billede Slettet bruger
12. juni 2008 - 15:05 #7
Ok, det er faktisk serveren der laver en timeout. Det er lidt skidt. Hvordan løser man det så smartest?
Avatar billede w13 Novice
12. juni 2008 - 15:07 #8
Hvis det er serveren, så kan du vel bare sætte dit servertimeout yderligere op:

Server.ScriptTimeout = 5000
Avatar billede Slettet bruger
12. juni 2008 - 15:40 #9
Har den allerede til Server.ScriptTimeout = 10000
Avatar billede w13 Novice
12. juni 2008 - 15:42 #10
Så er det vel ikke serveren, der timeouter?
Avatar billede Slettet bruger
12. juni 2008 - 16:15 #11
Nææ, det må være databasen der klokker i det.
Avatar billede Slettet bruger
12. juni 2008 - 16:23 #12
Ok, nu tror jeg efterhånden jeg har fundet frem til problemet. Det er tilsyneladende når SQL serveren i loopet, kører en update sætning, der sætter mailen til udsendt. Det er åbenbart hårdt for SQL serveren efterhånde at gøre dette. Det lyder dog mærkeligt synes jeg.
Har i nogle ideer til en løsning?
Avatar billede w13 Novice
12. juni 2008 - 17:27 #13
Hvad med måske at den kun tager en og så opdaterer siden og tager den næste, indtil den er færdig?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester