Avatar billede jones Nybegynder
06. marts 2002 - 11:57 Der er 10 kommentarer og
3 løsninger

Cannot update. Database or object is read-only

hej eksperter

jeg har lige indsat en søgefunktion på vores hjemmeside og den virker fint nok på vores testweb, men nå jeg smider den ned på min egen server kommer der en fejl.

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Cannot update. Database or object is read-only.

/links.asp, line 49

hvis jeg slår op under denne fejl på microsoft.com
får jeg det her http://support.microsoft.com/default.aspx?scid=kb;EN-US;q190006

og det passer også meget godt for testwebben er en iie5 og på vores server er det iis 4.

men jeg forstår ikke rigtigt det der står på microsoft.com så hvis der var en der kunne tyde det!

mvh Jones

ps. jeg er selvfølgelig ikke sikker på at det er fejlen fra microsoft.com der er den rigtige så hvis der er andre som har et bedre bud er de velkomne 

Avatar billede keysersoze Guru
06. marts 2002 - 12:00 #1
det kunne jo tyde på, at databasen ligger et sted hvor der ikke er skriverettigheder til den - altså at den ligger i en mappe med kun læserettigheder

http://activedeveloper.dk/aspdigital/kapitel2/updateable_query.asp
Avatar billede jones Nybegynder
06. marts 2002 - 12:04 #2
Keysersoze >> også min første tanke, men databasen er kun sat til "archive" så der er både read/write på !
Avatar billede jones Nybegynder
06. marts 2002 - 12:12 #3
i kan også lige få den linie 49 som den sir fejl på

<body>
<%
strMode = Request.Querystring("mode")
select case strMode
case "id"

Response.Buffer = True

' Her opdateres hits når brugeren bliver sendt til et link
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("links.mdb")
If Request.QueryString("id") <> "" Then
    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "SELECT * FROM links WHERE (ID = " & Request.QueryString("id") & ")"
    rs.Open strSQL, myConn, 1, 3
    If Not (rs.BOF Or rs.EOF) Then
        rs("Hits") = rs("Hits") + 1
        strURL = rs("URL")
        rs.Update
        rs.Close
        myConn.Close
        Set rs = Nothing
        Set myConn = Nothing
        Response.Clear
        Response.Redirect(strURL)
    End If
End If
%>
Avatar billede jones Nybegynder
06. marts 2002 - 12:13 #4
hov der kom jo ikke numre på ! det er den her

rs.Update
Avatar billede jivefive Nybegynder
06. marts 2002 - 12:24 #5
Hej Jones

Det er ikke nok, at der er skriveadgang til selve databasefilen. Hvis du køre under NT4.0 skal du give rettigheder til at læse og skrive til brugerne både på mappen og på databasefilen.

Jeg plejer typisk at give brugeren iusr altså alle brugere, der kalder via webserveren ret til at læse, skrive og slette i databasemappen. Grunden til at de også skal kunne slette (og at rettighederne også skal tildeles til mappen) er, at der ofte bliver oprettet en temporær lock fil på databasen og den skal de kunne slette igen bag efter.

Håber det kastede lidt lys over problemet.

JiveFive
Avatar billede keysersoze Guru
06. marts 2002 - 12:42 #6
rs.update henviser til at din sql skal udføres mht at den skal opdateres - og det kan stadig sagtens være problemet...
Avatar billede jones Nybegynder
06. marts 2002 - 12:49 #7
keysersoze >> kan det være problemmet ligger i linen rs.update ??

prøver lige at se på det med rettighederne igen !
Avatar billede keysersoze Guru
06. marts 2002 - 13:32 #8
problemet ligger selvfølgelig der - men det eneste den gør er at udføre noget af det der står tidligere i scriptet
Avatar billede jones Nybegynder
06. marts 2002 - 13:38 #9
Du kan se den der virker her ! (dog er det kun søgefunktionen der virker.
prøv at søge på energi
http://www.mi-support.dk/ws/

og her er hele koden ! http://www.mi-support.dk/ws/links.txt

håber det hjælper lidt.

(mht til rettighederne er jeg lige ved at få en anden til at gøre det da jeg ikke sidder ved serveren)
Avatar billede keysersoze Guru
06. marts 2002 - 13:58 #10
jeg er skam ikke i tvivl om at det virker... men for at der kan skrives til databasen skal der være de rigtige rettigheder så prøv (som du gør) at kig lidt på dem
Avatar billede jones Nybegynder
06. marts 2002 - 14:00 #11
prøver at sparke lidt til ham ved serveren og ser hvad der sker.
!
Avatar billede tsunami Nybegynder
15. marts 2002 - 16:12 #12
Det er pga. rettigheder... sæt brugeren "alle" rettigheder til alt der kan være et hak på i databasen
Avatar billede jones Nybegynder
28. august 2002 - 22:59 #13
i havde jo alle sammen ret så her. (undskyld det først blev nu)
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