Avatar billede jannick281090 Nybegynder
13. november 2007 - 09:52 Der 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

Nogen der kan hjælpe mig?
Avatar billede softspot Forsker
13. november 2007 - 09:54 #1
Prøv først og fremmest:

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().
Avatar billede jannick281090 Nybegynder
13. november 2007 - 09:55 #2
Det er en Acces DB
Avatar billede jannick281090 Nybegynder
13. november 2007 - 09:56 #3
Får stadig fejlen
Avatar billede softspot Forsker
13. november 2007 - 09:57 #4
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.
Avatar billede jannick281090 Nybegynder
13. november 2007 - 09:57 #5
Forresten, LastActivity skal sættes til "Now", ikke det gældende tidspunkt
Avatar billede jannick281090 Nybegynder
13. november 2007 - 09:58 #6
Hjemmesiden kører på min IIS Server og har tjekket om databasen er skrivebeskyttet
Avatar billede softspot Forsker
13. november 2007 - 10:00 #7
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.

Du kan finde en forbindelsesstreng til Access OLEDB på http://www.connectionstrings.com/
Avatar billede softspot Forsker
13. november 2007 - 10:01 #8
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 :-))
Avatar billede jannick281090 Nybegynder
13. november 2007 - 10:03 #9
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
Avatar billede softspot Forsker
13. november 2007 - 10:03 #10
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.
Avatar billede softspot Forsker
13. november 2007 - 10:05 #11
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.
Avatar billede stinejh1980 Nybegynder
13. november 2007 - 10:10 #12
Du skal finde der hvor din database ligger på din pc.

Højre klikke på .mdb filen og vælge egenskaber.

Vælg fanen sikkerhed og tilføj fuld kontrol på brugeren "Alle" hvis engelsk windiows skriv "everyone".
Avatar billede jannick281090 Nybegynder
13. november 2007 - 10:15 #13
Der er ingen fane ved navn sikkerhed, kun Generelt og Dokumentinfo.
Avatar billede stinejh1980 Nybegynder
13. november 2007 - 10:25 #14
Hvor har du placeret din fil?
Avatar billede jannick281090 Nybegynder
13. november 2007 - 10:29 #15
C:\Inetpub\wwwroot\DT\Database.accdb
Avatar billede softspot Forsker
13. november 2007 - 10:34 #16
Prøv lige denne connectionstring:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\inetpub\wwwroot\Database.accdb;Persist Security Info=False;
Avatar billede stinejh1980 Nybegynder
13. november 2007 - 10:39 #17
Problemet med denne streng er at den virker ikke når du uploader.
Hvis det er en access database skal den hedde database.mdb - eller tager jeg fejl?

Nåh men prøv atgøære samme øvelse som forklaret før, bare på selve DT mappen.
Avatar billede jannick281090 Nybegynder
13. november 2007 - 10:51 #18
#Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\inetpub\wwwroot\Database.accdb;Persist Security Info=False;#
Har jeg prøvet^^ samme fejl

*.mdb er den gamle Acces DB filtype
*.accdb er den nye, jeg bruger den nye
Avatar billede jannick281090 Nybegynder
13. november 2007 - 10:53 #19
##
Nåh men prøv atgøære samme øvelse som forklaret før, bare på selve DT mappen.
##

Der er heller ingen fane ved navn Sikkerhed
Avatar billede neoman Novice
13. november 2007 - 10:54 #20
I stifinderen ( nu har jeg godt nok en engelsk):

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.
Avatar billede softspot Forsker
13. november 2007 - 10:55 #21
Hvilken version af Windows kører du?
Avatar billede softspot Forsker
13. november 2007 - 10:56 #22
Aaah ok, neoman ved noget om det ;-)
Avatar billede jannick281090 Nybegynder
13. november 2007 - 11:01 #23
Stadig fejl =D fatter det bare ikke
Avatar billede neoman Novice
13. november 2007 - 11:03 #24
Har du gjort 13/11-2007 10:10:15 og 13/11-2007 10:39:58, hvor brugeren "alle" har ALLE rettigheder ?
Avatar billede stinejh1980 Nybegynder
13. november 2007 - 11:05 #25
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.
Avatar billede jannick281090 Nybegynder
13. november 2007 - 11:07 #26
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.
Avatar billede neoman Novice
13. november 2007 - 11:15 #27
:P
Avatar billede softspot Forsker
13. november 2007 - 11:16 #28
Velbekomme :)

13/11-2007 11:05:59 >> Der er ikke noget der umiddelbart tyder på at det er ASP.NET der bliver brugt... ;-)
Avatar billede softspot Forsker
13. november 2007 - 11:18 #29
Tak for point :)
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