|
| Kan ikke skrive til local DB Fra : Rasmus Nielsen |
Dato : 23-01-04 17:56 |
|
Hej
Jeg har en database liggende i wwwroot/rasmus/db/
Altså på den lokale server....eller hvad det nu hedder.
Men jeg kan kun læse fra den. Ikke skrive, f.eks når jeg vil
oprette en ny bruger. ASP koden virker fint, når jeg uploader til
mit webhotel på internettet, men vil altså ikke virke på det
lokale.
Jeg får ikke nogen fejl overhovedet.
Er der nogle rettigheder jeg skal ændre, og hvis det er
tilfældet, hvor gør jeg så det...
mvh Rasmus
--
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
| |
Rasmus Nielsen (23-01-2004)
| Kommentar Fra : Rasmus Nielsen |
Dato : 23-01-04 19:15 |
|
Skal måske lige sige at jeg bruger IIS 5.1
--
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
| |
Nils Nyvang Bacher (23-01-2004)
| Kommentar Fra : Nils Nyvang Bacher |
Dato : 23-01-04 21:53 |
|
Du skal checke om du har læse/skrive rettigeheder til den mappe hvor du har
din database liggende.
/Nils
"Rasmus Nielsen" <rasmus_nielsen@tele2adsl.dk> skrev i en meddelelse
news:burobd$bd2$1@sunsite.dk...
> Skal måske lige sige at jeg bruger IIS 5.1
>
| |
Jens Gyldenkærne Cla~ (23-01-2004)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 23-01-04 22:20 |
|
Rasmus Nielsen skrev:
> Men jeg kan kun læse fra den. Ikke skrive, f.eks når jeg vil
> oprette en ny bruger.
> Jeg får ikke nogen fejl overhovedet.
Det lyder mærkeligt - bruger du fejlhåndtering i din kode (On Error
Resume Next) eller har du et redirect væk fra den side der skal
skrive til databasen?
Vis evt. lidt kode her.
> Er der nogle rettigheder jeg skal ændre, og hvis det er
> tilfældet, hvor gør jeg så det...
Den konto som webserveren kører under skal have fulde rettigheder
til mappen hvor databasen ligger. Se evt. også artiklen her:
< http://asp-faq.dk/article/?id=4>.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Rasmus Nielsen (24-01-2004)
| Kommentar Fra : Rasmus Nielsen |
Dato : 24-01-04 23:18 |
|
> Det lyder mærkeligt - bruger du fejlhåndtering i din kode (On Error
> Resume Next) eller har du et redirect væk fra den side der skal
> skrive til databasen?
Jeg bruger On Error Resume Next, men har nu fjernet det.
Koden ser således ud:
' Formen submittes, JoinButton er value for Send knappen
If Request("Action") = JoinButton Then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db/Users.mdb")
Conn.Open DSN
SQL = "INSERT INTO Login (Username, Password, FirstName, LastName,
Email, Adminmode) "
SQL = "INSERT INTO Login (Username, Password, FirstName, LastName,
Email, Adminmode) VALUES ( '" _
+ Request("Username") + "', '" _
+ Request("Password") + "', '" _
+ Request("FirstName") + "', '" _
+ Request("LastName") + "', '" _
+ Request("Email") + "', '" _
+ "false" + "' )"
Conn.Execute (SQL)
mode = 1
Conn.Close
Set Conn = Nothing
If mode = 1 Then
Response.Redirect ("login.asp?Error=Du+kan+logge+på.")
End If
End If
%>
> Den konto som webserveren kører under skal have fulde rettigheder
> til mappen hvor databasen ligger. Se evt. også artiklen her:
> < http://asp-faq.dk/article/?id=4>.
Jeg får fejlmeldingen "Handlingen skal bruge en opdaterbar
forespørgsel.
", som beskrevet i overstående artikel, og har altså nu fattet at der
ikke er skrive rettigheder til mappen. Jeg har ændret rettighederne
til hele det lokale websted til følgende:
-Adgang til scriptkilde
-Læseadgang
-Skriveadgang
-Gennemsyn af mapper
og tilladelsen til at køre programmer er sat til "Scripts og
eksekverbare filer"
Jeg er klar over at dette er en stor sikkerhedsbrist, men mit problem
er at jeg stadig ikke kan skrive til databasen.
Når jeg skriver Response.Write SQL for at se min forespørgelse ser den
således ud:
INSERT INTO Login (Username, Password, FirstName, LastName, Email,
Adminmode) VALUES ( 'test', 'test', 'test', 'test', 'test', 'false' )
...og det er jo rigtigt nok. (så problemet er jo skriverettigheder)
Nogen gode forklaringer og råd?
mvh rasmus
--
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
| |
Rasmus Nielsen (24-01-2004)
| Kommentar Fra : Rasmus Nielsen |
Dato : 24-01-04 23:41 |
|
> SQL = "INSERT INTO Login (Username, Password, FirstName, LastName,
> Email, Adminmode) "
>
> SQL = "INSERT INTO Login (Username, Password, FirstName, LastName,
> Email, Adminmode) VALUES ( '" _
> + Request("Username") + "', '" _
> + Request("Password") + "', '" _
> + Request("FirstName") + "', '" _
> + Request("LastName") + "', '" _
> + Request("Email") + "', '" _
> + "false" + "' )"
UPS....den øverste SQL skal selvfølgelig ikke med...
mvh rasmus
--
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
| |
Jens Gyldenkærne Cla~ (24-01-2004)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 24-01-04 23:53 |
|
Rasmus Nielsen skrev:
>> Det lyder mærkeligt - bruger du fejlhåndtering i din kode (On
>> Error Resume Next) eller har du et redirect væk fra den side
>> der skal skrive til databasen?
>
> Jeg bruger On Error Resume Next, men har nu fjernet det.
Fint - så kom du lidt videre.
> If mode = 1 Then
> Response.Redirect ("login.asp?Error=Du+kan+logge+på.")
> End If
Husk også at frakoble redirects hvis fejlsøgningen ikke giver
resultat.
>> artiklen her: < http://asp-faq.dk/article/?id=4>.
>
> Jeg får fejlmeldingen "Handlingen skal bruge en opdaterbar
> forespørgsel.
> ", som beskrevet i overstående artikel, og har altså nu fattet
> at der ikke er skrive rettigheder til mappen. Jeg har ændret
> rettighederne til hele det lokale websted til følgende:
Har du husket at det er asp-kontoen (IUSR_???) der skal have
rettighederne?
Får du stadig samme fejl?
> INSERT INTO Login (Username, Password, FirstName, LastName,
> Email, Adminmode) VALUES ( 'test', 'test', 'test', 'test',
> 'test', 'false' )
Hvis Adminmode er et boolesk felt (ja/nej, true/false), skal
værdier til feltet ikke i anførselstegn.
false er en boolesk værdi i Access.
'false' er derimod en strengværdi (tekstværdi)
> ..og det er jo rigtigt nok.
Ikke nødvendigvis - se ovenfor.
> (så problemet er jo skriverettigheder)
Problemet er hvad asp-parseren fortæller i sin fejlmeddelelse. Hvis
den skriver noget om skriverettigheder (på den kryptiske måde som
den nu gør det på), så er det skriverettigheder. Hvis den skriver
om fejl i sql-sætningen, så er det her du skal rette.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Rasmus Nielsen (25-01-2004)
| Kommentar Fra : Rasmus Nielsen |
Dato : 25-01-04 00:27 |
|
> Husk også at frakoble redirects hvis fejlsøgningen ikke giver
> resultat.
Redirectet er nu slået fra. Det der nu sker at den går tilbage til til
login.asp (fordi jeg i formens "action" har skrevet
login.asp?Error=Du+kan+nu+logge+på.) Men den skriver stadig ikke til DB'en.
> Har du husket at det er asp-kontoen (IUSR_???) der skal have
> rettighederne?
Det er det som bliver betegnet standardwebsted at du tænker på. ik? Som jeg
lige kan regne ud, så er det kun min mappe (wwwroot/db) der skal laves om
mht til skriverettigheder. (men som i sidste indlæg, så har jeg prøvet at
slå alle rettigheder til på hele webstedet.)
> Hvis Adminmode er et boolesk felt (ja/nej, true/false), skal
> værdier til feltet ikke i anførselstegn.
> false er en boolesk værdi i Access.
> 'false' er derimod en strengværdi (tekstværdi)
I acces har jeg betegnet adminmode som en almindelig tekst streng (derfor
skriver jeg en tekststreng til adminmode). Burde selvfølgelig nok anvende
booleanske værdier, men det andet burde ikke have noget at gøre med fejlen.
mvh rasmus
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system ( http://www.grisoft.com).
Version: 6.0.567 / Virus Database: 358 - Release Date: 24-01-2004
| |
Torben Brandt (25-01-2004)
| Kommentar Fra : Torben Brandt |
Dato : 25-01-04 01:25 |
|
Rasmus Nielsen skrev:
>>Har du husket at det er asp-kontoen (IUSR_???) der skal have
>>rettighederne?
>
> Det er det som bliver betegnet standardwebsted at du tænker på. ik? Som jeg
> lige kan regne ud, så er det kun min mappe (wwwroot/db) der skal laves om
> mht til skriverettigheder. (men som i sidste indlæg, så har jeg prøvet at
> slå alle rettigheder til på hele webstedet.)
Det sted du sætter rettigheder er i administrationsprogrammet for IIS.
Du skal også sætte rettighederne på mappen.
I WinXP DK gøres det som følger:
- Åbn stifinder
- Højreklik på mappen wwwroot
- Vælg Deling og sikkerhed
- Vælg fanebladet Sikkerhed
- Her skal IUSR_maskinnavn fremgå i øverst vindue (hos mig er den vist
nok en del af gruppen Brugere, så kan også stå Brugere)
- Hvis den ikke gør, så skal den tilføjes - tryk på Tilføj osv osv
- Marker IUSR_maskinnavn eller Brugere i øverste vindue
- Tryk på Avanceret
- Marker IUSR_maskinnavn eller Brugere
- Tryk Rediger
- Sæt kryds i Tillad - Fuld kontrol
- Sæt Anvend på til Denne mappe, undermapper og filer
- Tryk Ok
- Tryk Ok
- Tryk Ok
Hvis det ikke virker, så prøv evt at søge lidt rundt på nettet - mange
har haft samme problem som dig.
/Torben
| |
Rasmus Nielsen (27-01-2004)
| Kommentar Fra : Rasmus Nielsen |
Dato : 27-01-04 00:53 |
|
> Det sted du sætter rettigheder er i administrationsprogrammet for IIS.
> Du skal også sætte rettighederne på mappen.
>
> I WinXP DK gøres det som følger:
> - Åbn stifinder
> - Højreklik på mappen wwwroot
> - Vælg Deling og sikkerhed
> - Vælg fanebladet Sikkerhed
Jeg har ikke fanebladet sikkerhed. Der er kun webdeling, hvor jeg kan vælge
at dele mappen på netværket.
> - Her skal IUSR_maskinnavn fremgå i øverst vindue (hos mig er den vist
> nok en del af gruppen Brugere, så kan også stå Brugere)
> - Hvis den ikke gør, så skal den tilføjes - tryk på Tilføj osv osv
> - Marker IUSR_maskinnavn eller Brugere i øverste vindue
> - Tryk på Avanceret
> - Marker IUSR_maskinnavn eller Brugere
> - Tryk Rediger
> - Sæt kryds i Tillad - Fuld kontrol
> - Sæt Anvend på til Denne mappe, undermapper og filer
> - Tryk Ok
> - Tryk Ok
Som sagt kan jeg ikke finde frem til overstående muligheder.
Jeg har hørt en lille fugl om at en firewall kan skabe problemer, når jeg
vil skrive til min database. Jeg har Zone Alarm Pro 4.5.5 kørende. Skaber
det måske nogle problemer?
mvh rasmus
| |
Jørn Andersen (27-01-2004)
| Kommentar Fra : Jørn Andersen |
Dato : 27-01-04 01:31 |
|
On Tue, 27 Jan 2004 00:52:55 +0100, "Rasmus Nielsen"
<rasmus_nielsen@tele2adsl.dk> wrote:
>Jeg har ikke fanebladet sikkerhed. Der er kun webdeling, hvor jeg kan vælge
>at dele mappen på netværket.
Har du Disablet Simple File Sharing?
<url:
http://www.practicallynetworked.com/sharing/xp_filesharing/01disablesimplesharing.htm>
- og så tror jeg heller ikke du har fanebladet, hvis det ikke er et
NTFS-drev (altså hvis det fx er et FAT32-drev)
(men der er gode tips i linket).
<snip>
>Jeg har hørt en lille fugl om at en firewall kan skabe problemer, når jeg
>vil skrive til min database. Jeg har Zone Alarm Pro 4.5.5 kørende. Skaber
>det måske nogle problemer?
Næppe - men det er jo ret let at teste: Luk ZoneAlarm ned og prøv igen
en gang.
Good luck!
--
Jørn Andersen,
Brønshøj
| |
Rasmus Nielsen (27-01-2004)
| Kommentar Fra : Rasmus Nielsen |
Dato : 27-01-04 01:57 |
|
> Har du Disablet Simple File Sharing?
> <url:
>
http://www.practicallynetworked.com/sharing/xp_filesharing/01disablesimplesh
aring.htm>
> - og så tror jeg heller ikke du har fanebladet, hvis det ikke er et
> NTFS-drev (altså hvis det fx er et FAT32-drev)
> (men der er gode tips i linket).
Jeg har ikke slået simpel fil deling fra og begge mine drev er NTFS. (men
det er kun drevet med windows, der bruges i forbindelse med min hjemmeside.)
Jeg er ved at give op, gutter. Jeg kan stadig ikke forstå hvorfor jeg ikke
har mulighed at se følgende muligheder: (Torben Brandt's tidligere svar)
WinXP DK gøres det som følger:
- Åbn stifinder
- Højreklik på mappen wwwroot
- Vælg Deling og sikkerhed
- Vælg fanebladet Sikkerhed
- Her skal IUSR_maskinnavn fremgå i øverst vindue (hos mig er den vist
nok en del af gruppen Brugere, så kan også stå Brugere)
- Hvis den ikke gør, så skal den tilføjes - tryk på Tilføj osv osv
- Marker IUSR_maskinnavn eller Brugere i øverste vindue
- Tryk på Avanceret
- Marker IUSR_maskinnavn eller Brugere
- Tryk Rediger
- Sæt kryds i Tillad - Fuld kontrol
- Sæt Anvend på til Denne mappe, undermapper og filer
- Tryk Ok
- Tryk Ok
- Tryk Ok
Jeg siger ihvertfald i første omgang tak for alle svarene. (Det skal nok
vise sig at jeg har overset et eller andet total dumt
mvh rasmus
| |
Jonas Skafte Jensen (27-01-2004)
| Kommentar Fra : Jonas Skafte Jensen |
Dato : 27-01-04 02:48 |
|
> Jeg har ikke slået simpel fil deling fra
Jamen så gør det... ;)
| |
Jørn Andersen (27-01-2004)
| Kommentar Fra : Jørn Andersen |
Dato : 27-01-04 11:36 |
|
On Tue, 27 Jan 2004 01:57:09 +0100, "Rasmus Nielsen"
<rasmus_nielsen@tele2adsl.dk> wrote:
>Jeg har ikke slået simpel fil deling fra
Det var måske ikke så klart i mit svar (selv om det var klart i det
link jeg gav) - men: Slå Simpel fildeling fra!
Good luck!
--
Jørn Andersen,
Brønshøj
| |
Rasmus Nielsen (28-01-2004)
| Kommentar Fra : Rasmus Nielsen |
Dato : 28-01-04 00:51 |
|
Jeg har nu fået min hjemmeside til at skrive til databasen og det er fandme
lækkert. Jeg skulle lige slå den der simpel fildeling fra, og så kunne jeg
redigere rettigheder. I skal have mange tak for hjælpen. Et sidste spørgsmål
på falderebet:
Kan jeg nøjes med at give fulde rettigheder til wwwroot/db eller skal hele
standardwebstedet have fuld adgang?
mvh
Rasmus
| |
Jørn Andersen (28-01-2004)
| Kommentar Fra : Jørn Andersen |
Dato : 28-01-04 01:55 |
|
On Wed, 28 Jan 2004 00:50:33 +0100, "Rasmus Nielsen"
<rasmus_nielsen@tele2adsl.dk> wrote:
>Kan jeg nøjes med at give fulde rettigheder til wwwroot/db eller skal hele
>standardwebstedet have fuld adgang?
Det kommer jo an på om du vil skrive til disse steder.
Hvis du ikke har behov for det nu, så lad være med at give
rettigheder, der ikke er brug for.
Hvis du senere får brug for det, så giv rettigheder til den del der
har behov for det. Det kunne fx være et upload directory, en fil der
ændres af FSO etc. osv.
Good luck!
--
Jørn Andersen,
Brønshøj
| |
|
|