Nu har jeg så set det med.
Jeg har lavet et administrationsmodul, der kan oprette nyheder i
en access database og samtidig sende en email med nyheden til
alle brugere i en database og dette har virket upåklageligt
gennem snart rigtig lang tid.
Der kommer naturligvis flere brugere i databasen løbende hvilket
da også forøger tiden det tager fra emailen bliver sendt til at
siden redirecter til nyhedsoversigten, men indtil i dag har der
som sagt ikke været problemer med systemet.
Nu får jeg så følgende fejlmeddelelse efter at siden har stået i
noget nær en uendelighed og forsøgt at sende den givne nyhed til
brugerne:
_____________________________________
Active Server Pages error 'ASP 0113'
Script timed out
/admin/nyheder.asp
The maximum amount of time for a script to execute was exceeded.
You can change this limit by specifying a new value for the
property Server.ScriptTimeout or by changing the value in the IIS
administration tools.
_____________________________________
Måden det hele er sat op på er at man starter med en form, der så
sender data til en anden side og herfra kan man så validerer
nyheden med request.querystring("formfelt") før der endeligt
postes til databasen (dette virker stadig).
Min kode på siden der valideres og postes og sendes mail til
brugerne er som følger:
FUNCTION fixQuotes( theString )
fixQuotes = Replace( theString, "'", "''" )
END FUNCTION
Header = Request.Querystring( "Header" )
Billede = Request.Querystring( "Billede" )
Nyhed = Request.Querystring( "Nyhed" )
Forfatter = Request.Querystring( "Forfatter" )
NyhedBrake = Replace( Nyhed, vbcrlf, "<BR>" & vbcrlf )
IF Request.Servervariables("Content_Length") > 0 THEN
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open "nyheder", Conn, 2, 2
Rs.AddNew
Rs("Dato") = Now
Rs("Nyhed") = Nyhedbrake
Rs("Header") = Header
Rs("Forfatter") = Forfatter
Rs("Billede") = Billede
Rs.Update
' JMail begynder
If Request.Querystring("Send") <> "Nej" Then ' Validerer om
nyheden skal sendes til brugere
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open "Select Top 1 * From nyheder Order By Id Desc", Conn
strLink = "<a
href='
http://www.havensupport.dk/nyheder.asp?mode=visnyhed&id=" &
Rs("Id") & "'>" & "...Læs hele nyheden" & "</a>"
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open "Select * From nyhedsbrev", Conn
Do While Not Rs.EOF
Navn = Rs("Navn")
Email = Rs("Email")
BilledString =
"
http://www.havensupport.dk/grafik/nyheds-billeder/"
Tekst = Left((Nyhedbrake),600)
Set JMail = Server.CreateObject("JMail.SMTPMail")
Noget Jmail kode (som jeg vil spare jer for)
JMail.AddRecipient Rs("Email")
JMail.Priority = 3
JMail.Execute
set JMail = nothing
Rs.MoveNext
Loop
End If
' JMail slutter
Response.Redirect("nyheder.asp")
End If
Der er sikkert en mere optimal måde at gøre dette på, men det har
som sagt virket fint indtil nu.
Nogen der kan se en evt. fejl i koden, der pludselig er begyndt
at gøre knuder?
Kan det have noget med permissions på serveren at gøre?
Dem har jeg desværre følt mig nødsaget til at rode lidt for meget
rundt med på det sidste.
Håber på lidt hjælp fra en skarp hjerne eller to
Med venlig hilsen
Thomas Møller Nexø
--------------------------------
thomas@havensupport.dk
http://www.havensupport.dk
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! =>
http://www.html.dk/tutorials