06. januar 2007 - 17:43Der er
6 kommentarer og 1 løsning
Timeout error på simpel Update i en Do until løkke mod SQL
Jeg får en mærkelig Timeout error når jeg forsøger at benytte nedenstående Do until. Fejlen opstå allerede første gang der er en post der skal opdateres. Jeg synes aldrig før jeg har haft problemer med dette - har lavet mange af disse (hvor jeg løbe et record set igennem og opdatere i det samme record ser) - men denne her er en gåde for mig... Nogen som kan se hvad der kan være galt.... eller evt. hvad jeg kan prøve at rette for at se om fejlen forsvinder.
- - - - - - - - - - - - - - - strSQL = "SELECT DatoID, Feriedato, Status FROM Feriedatoer where Feriedato >= '" & nydag & "' and PilotID = " & id & " ORDER BY DatoID" ' rs.Open strSQL, conn Set rs = conn.Execute(strSQL)
IF findfirst = 1 AND check = 0 THEN IF INT(f_update) < INT(ny_fri) THEN f_update = f_update + 1 SQLstmt = "UPDATE Feriedatoer SET Status = 'F' WHERE DatoID = " & rs("DatoID")
' **** HER VED conn.excute kommer fejlen første gang.... response.write "<br>" & SQLstmt Conn.Execute (SQLstmt)
if f_update = 1 THEN sidsteFdag = rs("Feriedato") end if ELSE no_update = 0 check = 1 END IF END IF
.. der er mere kode her men den kommer aldrig hertil ..
Det er SQL server 2000 og ja der er index på DatoID - men der er kun ca. 500.000 rækker,
men for nu har jeg fundet et fix. Normalt bruger jeg i min Connection streng et Data Source = . men når jeg skifter dette til local IP adressen så virker det perfekt, så hun står der Data Source = xxx.xxx.xxx.xxx hvorfor ved jeg ikke for det virker perfekt med . på min udviklingsserver - det er kun på produktionsserven den "skaber" sig...
Det ku' være indstilling for låsninger, der er forskellig. Du har lige læst den samme post som du skal opdatere (hvis jeg læser din kode korrekt). Når du så skal skrive i den, er den låst fra læsningen.
Jeg gør tit det (men jeg må indrømme at det er bøvlet i ASPs VBScript) at samle data fra SELECT-en i et passende array eller lignende, lukke recordsettet, og så løbe arrayet igennem med henblik på hvad der så skal ske med det. Det er der flere fordele ved. (Men der er også fordele ved at droppe gammeldags ASP...)
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.