Avatar billede cdc Novice
25. april 2005 - 12:18 Der er 19 kommentarer og
1 løsning

Operation must use an updateable query ?

denne fejl opstår:

[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.

gem_lesson_text.asp, line 55

linie 55: Set RS = Conn.Execute(SQL)

/cdc
Avatar billede cpufan Juniormester
25. april 2005 - 12:21 #2
der er ikke rettigheder til at skrive til db'en.

den skal sættes til at iusr_servernavn har skriverettigheder,
enten på den mappe db'en ligger i, eller selve db'en.

det er noget webhotellet skal sætte for dig,
medmindre du selv hoster.
Avatar billede keysersoze Ekspert
25. april 2005 - 12:21 #3
Avatar billede cdc Novice
25. april 2005 - 12:28 #4
Jeg har skriverettigheder på webhotellet, så det må være db'en som er gal ?
Avatar billede cdc Novice
25. april 2005 - 12:29 #5
hvor i access db'en kan jeg se om den er skrivebeskyttet

/cdc
Avatar billede cpufan Juniormester
25. april 2005 - 12:40 #6
Det er ikke nok at DU har skriveadgang,
det skal være den anonyme bruger.
Normalt opretter webhotellet en mappe netop til db'ere, med de rigtige rettigheder.
Avatar billede cdc Novice
25. april 2005 - 12:43 #7
DB ligger i roden, og de andre databaser jeg har liggende i rodmappen virker, bare ikke lige denne. Har bare lagt den der ud som test
Avatar billede cdc Novice
25. april 2005 - 12:47 #8
sti til db ser således ud:

set conn = server.createobject("ADODB.connection")
path = ("d:\home\mitdomain.dk\database\mindb.mdb")
conn.Open "DBQ="& path &";DefaultDir="& path & ";Driver={Microsoft Access Driver (*.mdb)}"
Avatar billede cpufan Juniormester
25. april 2005 - 12:49 #9
jeg vil mene at du skal bede webhotellet sætte skriverettigheder direkte på db'en så.
Men hvis du uploader en ny, som overskriver den gl. vil rettighederne forsvinde igen.
Så det bedste er at have en mappe med de rigtige rettigheder, da man så altid kan overskrive, og uploade nye, uden at skulle sætte rettighederne hver gang.
Avatar billede cpufan Juniormester
25. april 2005 - 12:50 #10
ok, jamen så ligger den heller ikke i roden, men i en mappe som jeg beskrev.
Så er det selve db'en der er låst.
Eller også har du selv låst den via din sql.
Avatar billede cpufan Juniormester
25. april 2005 - 12:52 #11
man kan åbne sin db'en som readonly, det er måske det du har gjort,
hvordan ser din sql ud?
Avatar billede cdc Novice
25. april 2005 - 12:53 #12
SQL= "INSERT INTO lesson (afsnit, tekst, tid, pris)"
SQL = SQL & " VALUES ('" & request.form("afsnit") & "','" & request.form("tekst") & "','" & request.form("tid") & "','" & request.form("pris") & "')"
Avatar billede cdc Novice
25. april 2005 - 12:54 #13
hvis opdatering:

SQL="UPDATE lesson SET "
SQL = SQL & "afsnit='" & afsnit & "', "
SQL = SQL & "tekst='" & tekst & "', "
SQL = SQL & "tid='" & tid & "', "
SQL = SQL & "pris='" & pris & "'"
SQL = SQL & " where ID =" & Request.Querystring("ID")
Avatar billede cpufan Juniormester
25. april 2005 - 12:55 #14
skal også bruge den hvor der står conn(execute) eller lign.
Avatar billede cdc Novice
25. april 2005 - 12:59 #16
<%
If Request("mode") = "ny" then

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & ("d:\home\mitdomain.dk\database\mindb.mdb")

SQL= "INSERT INTO lesson (afsnit, tekst, tid, pris)"
SQL = SQL & " VALUES ('" & request.form("afsnit") & "','" & request.form("tekst") & "','" & request.form("tid") & "','" & request.form("pris") & "')"

Conn.Execute (SQL)

conn.Close
Set conn = nothing
Set SQL = nothing
Avatar billede cpufan Juniormester
25. april 2005 - 13:01 #17
tja, så er det ikke locktype.....

så enten har du selv låst db'en da du lavede den i access,
eller også skal rettighederne sættes på hotellet
Avatar billede cpufan Juniormester
25. april 2005 - 13:04 #18
http://www.4guysfromrolla.com/webtech/062799-3.shtml

Denne artikel er nok mere relevant, men du benytter slet ikke disse,
men er god info, til at forbedre performance.
Avatar billede cdc Novice
25. april 2005 - 13:10 #19
problemet er at db var i en undermappe, så har de lavet om på det på hotellet, jeg har så flyttet databaserne over til roden, samt denne som ikke virker. Alt er gjort på samme måde, men denne virker bare ikke, alle de andre gør
Avatar billede cpufan Juniormester
25. april 2005 - 13:17 #20
du connecter ikke til roden,
men til: database\mindb.mdb

hvis du vil i roden så skal din DBQ se sådan ud

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & ("d:\home\mitdomain.dk\mindb.mdb")
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