Just nu i M3-nätverket
Gå till innehåll

Intermittent fel vid skapande av textfil


rolfr

Rekommendera Poster

Jag har kämpat både länge och väl med en programsnutt som ofta fungerar, men inte alltid. Jag plockar ut vissa data ur en databas och visar dem på skärmen, samtidigt som jag lägger dem i en textfil. På skärmen kommer de ut som de skall varenda gång. Men inte alltid till filen. Ibland ligger bara den gamla filen kvar och har inte uppdaterats. Nästa gång uppdateras den. Kan det vara någon sorts 'chicken-race' som gör att textfilen inte skapas, eller vad kan det vara?

 

Först har jag en vanlig öppning av databasen och den fungerar ju, eftersom skärmutskriften aldrig någonsin fallerat. När det gäller textfilen så är min ASP kod så här:

 

Set Logg=Server.CreateObject("Scripting.FileSystemObject")

Set Fil=Logg.CreateTextFile("loggfil.txt",True)

Rad=""

Do Until RS.EOF

  Rad=Rad & RS("datum") & ";" & RS("namn") & ";" & RS("adress") & ";"

  Response.Write Rad   'på skärmen

  Fil.WriteLine Rad         'till filen

  Rad=""

  RS.MoveNext

Loop

 

Fil.Close

RS.Close

objConn.Close

Set Fil=Nothing

Set RS=Nothing

Set objConn=Nothing

 

Visst är det märkligt att resultatet på skärmen funkar klockrent, men att det är osäkert om filen skapas eller ej? Finns det någon som har tips, vore jag tacksam.

Länk till kommentar
Dela på andra webbplatser

Ser inget konstigt i koden, förutom lite onödig "tömning" av Rad (se nedan) så det är väl något annat som strular till det. Kanske rättighetsfel? 

 

Det borde väl f.ö. räcka med: 

Do Until RS.EOF
  Rad = RS("datum") & ";" & RS("namn") & ";" & RS("adress") & ";"
  Response.Write Rad
  Fil.WriteLine Rad
  RS.MoveNext
Loop
Länk till kommentar
Dela på andra webbplatser

Det är inte cache-problem då? Filen är uppdaterad men att webbläsaren har kvar en gammal kopia?!

Om du ser till att det är en helt ny fil som skapas varje gång (genom unikt filnamn), fungerar det då? 

Länk till kommentar
Dela på andra webbplatser

Cluster: Jag tömmer Rad eftersom annars byggs alla posterna på varandra. Så här får jag en post per rad från RS.

 

Jonas: Nej, jag öppnar textfilen varje gång och ser vad som finns i den. Det är bara en gång av 4-6 gånger som det missar. Lite oregelbundet.

Länk till kommentar
Dela på andra webbplatser

Cluster: Jag tömmer Rad eftersom annars byggs alla posterna på varandra. Så här får jag en post per rad från RS.

 

Ja, det var därför jag även tog bort konkateneringen i denna kodrad:

Rad = RS("datum") & ";" & RS("namn") & ";" & RS("adress") & ";" 

Dvs. tog bort  Rad=Rad & 

 

 

Jonas: Nej, jag öppnar textfilen varje gång och ser vad som finns i den. Det är bara en gång av 4-6 gånger som det missar. Lite oregelbundet

 
Kollar du den i filsystemet på serversidan menar du?
Länk till kommentar
Dela på andra webbplatser

Ok jag hade Rad=Rad & kvar sedan gamla övningar. Det skall så klart vara som du skrev här.

 

Ja, jag läser in filen från serversidan och öppnar i Anteckningar.

 

Nu blir jag lite lurig på det här problemet. Har testat ett antal gånger efter att ha lagt upp programmet på Loopias server. Och då ser det ut som om det fungerar. Men har inte testat tillräckligt många gånger än för att säga att det fungerar med säkerhet. Men lokalt i min dator har jag fel hipp som happ.

 

Du skrev något om rättighetsfel i början. Vad kan det i så fall vara lokalt som skiftar?

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...