13. november 2007 - 09:52Der er
24 kommentarer og 5 løsninger
Fejl når jeg prøver at opdatere data i min database
Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access-driver] Handlingen skal bruge en opdaterbar forespørgsel. /DT/Logon/LogonOk.asp, line 25
Linje 24-25 ser sådan ud: strSQL = "Update Users set LastActivity= 'Now' Where id = " & rs("id") Conn.Execute(strSQL)
Har også prøvet med: rs.update rs("LastActivity") = "Now" rs.update
strSQL = "Update Users set LastActivity = Now() Where id = " & rs("id") Conn.Execute(strSQL)
Hvis altså LastActivity skal sættes til det aktuelle tidspunkt (og det er en Access-database). Hvis det er en SQL Server, skal du benytte getdate() i stedet for now().
Ja, OK, det er jo nok en Access-database, når fejlen ligefrem skriver Microsoft Access-driver... :D
Hvis du stadig får fejl, kan det også have noget med skriverettighederne til databasefilen at gøre, så du skal muligvis ud på webserveren og give skrive og ændringsrettigheder til denne databasefil.
En tredie ting du kan forsøge (og bør gøre hvis det er en nye version af Access der er brugt til at oprette databasen med), er at benytte en OLEDB driver i stedet for ODBC-driveren.
13/11-2007 09:57:37 >> Ok, fair nok (selvom det virker lidt gustent, men da jeg jo ikke kender konteksten kan det da godt være det er helt fint med den værdi :-))
Tjekkede lige min IIS setup, af en eller anden grund var der ikke krydset af i skriveadgang til serveren, nu har jeg krydset den af og genstartet min IIS server men fejlen er der stadig, nu begynder det sku at blive lidt mystisk =S
13/11-2007 09:58:53 >> Er den så skrivebeskyttet? Det du skal være opmærksom på, er om den bruger som IIS logger på med har adgang til at skrive og modificere database-filen, det er ikke nok at DIN loginbruger har skrive og modificeringsrettigheder.
Det er typisk IUSR_<maskinnavn> der skal have rettighederne.
13/11-2007 10:03:03 >> du må IKKE give skriveadgang inde i IIS administrationen, da dette giver generel skriveadgang til besøgende (og det vil du ikke - gætter jeg på). Du skal ud i filsystemet og give den rigtige bruger adgang på selve database-filen.
Tools | Folder Options | View | Use simple file sharing (sidste punkt i oversigten) og fjern flueben fra simple file sharing - så får du et ekstra fanablad med sikkerhed derpå gør som : 13/11-2007 10:10:15 siger, men det butde kun være nødvendigt for Iuser_maskinnavn, som 13/11-2007 10:03:03 siger.
Hvis du bruger asp.net er Iuser_maskinnavn ikke nok. Der skal du bruge network service.
Jeg bruger altid alle/everyone, for hvad skulle kunne ske?? Der er jo ikke nogle som kan gøre noget med mindre det er i din applikation, og der kan du lave brugerspcifikke rettigheder.
Fik det til at virke, takker allesammen. Der var ingen bruger ved navn "alle" men den hed "Brugere" istedet, smid svar alle tre i pegede alle tre på samme fejl.
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.