Avatar billede axkris Nybegynder
01. august 2003 - 17:05 Der er 6 kommentarer og
2 løsninger

Permission denied

Hej

Sommetider får jeg "Permission denied" i linien "Set f = fso.OpenTextFile(filespec,2)". Hvorfor og hvad løses problemet?

<%

Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("/chat/count_chatters.txt")

' Åbn filen til læsning og Læs linie for linie
Set f = fso.OpenTextFile(filespec,1)
Do While not f.AtEndOfStream
  count_chatters = f.ReadLine
Loop
f.Close

' Skriv tekst i en linie
Set f = fso.OpenTextFile(filespec,2)
if Request.QueryString("mode") = "leave" then
    f.Write count_chatters - 1
    Response.Cookies("onChat") = "false"
else
    f.Write count_chatters + 1
    Response.Cookies("onChat") = "true"
end if

Response.Cookies("onChat").expires = Date + 1

f.Close

response.write "<script>self.close();</script>"

%>
Avatar billede nmh Nybegynder
01. august 2003 - 17:22 #1
Får du kun fejlen sommetider?
Kunne der mon ikke være tale om manglende ntfs-rettigheder til det filområde på serveren?
Avatar billede axkris Nybegynder
01. august 2003 - 17:29 #2
Jeg får fejlen når jeg stresser systemet.
Avatar billede nmh Nybegynder
01. august 2003 - 17:34 #3
ja, men så er det jo fordi serveren ikke er klar til at betjene dig. Du må fange fejlen i en on error og så vente.
Og meddelelsen 'permission denied' er vel meget beskrivende for situationen.
Avatar billede axkris Nybegynder
01. august 2003 - 17:47 #4
Jeg løste selv problemet lave to forskellige "f-referancer'er". Fejlen kom ved at en fil var ved at læse samtidigt med at en anden fil var ved at skrive.

<%

Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("/chat/count_chatters.txt")

' Åbn filen til læsning og Læs linie for linie
Set fOne = fso.OpenTextFile(filespec,1)
Do While not f.AtEndOfStream
  count_chatters = f.ReadLine
Loop
fOne.Close

' Skriv tekst i en linie
Set fTwo = fso.OpenTextFile(filespec,2)
if Request.QueryString("mode") = "leave" then
    f.Write count_chatters - 1
    Response.Cookies("onChat") = "false"
else
    f.Write count_chatters + 1
    Response.Cookies("onChat") = "true"
end if

Response.Cookies("onChat").expires = Date + 1

fTwo.Close

response.write "<script>self.close();</script>"

%>
Avatar billede axkris Nybegynder
01. august 2003 - 17:50 #5
Ups, jeg lavede lige en skrivefejl:

<%

Dim fso, fOne, fTwo, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("/chat/count_chatters.txt")

' Åbn filen til læsning og Læs linie for linie
Set fOne = fso.OpenTextFile(filespec,1)
Do While not fOne.AtEndOfStream
  count_chatters = fOne.ReadLine
Loop
fOne.Close

' Skriv tekst i en linie
Set fTwo = fso.OpenTextFile(filespec,2)
if Request.QueryString("mode") = "leave" then
    fTwo.Write count_chatters - 1
    Response.Cookies("onChat") = "false"
else
    fTwo.Write count_chatters + 1
    Response.Cookies("onChat") = "true"
end if

Response.Cookies("onChat").expires = Date + 1

fTwo.Close

response.write "<script>self.close();</script>"

%>
Avatar billede nmh Nybegynder
01. august 2003 - 18:24 #6
Ja, men så var fejlmedelelsen jo helt beskrivende for situationen.
Avatar billede axkris Nybegynder
02. august 2003 - 20:25 #7
Tryk svar hvis I vil have lidt points
Avatar billede nmh Nybegynder
02. august 2003 - 20:26 #8
her er et svar
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