Avatar billede styless Nybegynder
23. januar 2004 - 16:40 Der er 19 kommentarer og
1 løsning

Could not save currently locked by user on machine

Får denne fejl:

Could not save; currently locked by user 'bruger' on machine 'server'.

Det sker kun når det er en update kommando.

Nogen gode ideer? Jeg har checket Google og MS men deres svar kan jeg ikke rigtig bruge til noget.
Avatar billede medions Nybegynder
23. januar 2004 - 16:42 #1
Hvis din databasefil er åben, så prøv at luk den og kør scriptet igen, ellers prøv at genstart din maskine!

//>Rune
Avatar billede eagleeye Praktikant
23. januar 2004 - 16:45 #2
Bruger du .Open metoden til at åbne dit recordset og en SQL sætning??
Avatar billede styless Nybegynder
23. januar 2004 - 16:52 #3
Den ligger på en server så den blir kun åbnet via database forbindelsen. Og jeg kan ikke genstarte maskinen da den ligger hos en udbyder.

Ja jeg bruger .Open til at åbne forbindelsen.

SQL'en blir lavet med:

sql = "kommando"
set rs = forb.execute(sql)

Forbindelsen:

set forb = server.createobject("adodb.connection")
forbindelse = "DBQ=" & server.mappath("db.mdb")
forb.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & forbindelse, 1, 3
Avatar billede medions Nybegynder
23. januar 2004 - 16:55 #4
Prøv at gør sådan her istedet for:

set forb = server.createobject("adodb.connection")
forb.Open = "Driver={Microsoft Access Driver (*.mdb); DBQ=" & server.mappath("db.mdb")

strSQL = "SQL SÆTNING"
Set objRs = forb.Execute(strSQL)

Hvis du bare vil skrive til din database så skal du blot skrive:
forb.Execute(strSQL)

//>Rune
Avatar billede eagleeye Praktikant
23. januar 2004 - 16:55 #5
Prøv at lave din forb.Open om til denne uden tal:

forb.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & forbindelse
Avatar billede styless Nybegynder
23. januar 2004 - 17:03 #6
Har prøvet at slette 1, 3 men det virker stadig ikke ...
Har også prøvet uden & forbindelse ...
Avatar billede medions Nybegynder
23. januar 2004 - 17:06 #7
styless> Har du oxo prøvet mit?

//>Rune
Avatar billede styless Nybegynder
23. januar 2004 - 17:07 #8
Ja det skrev jeg jo :)

"Har også prøvet uden & forbindelse ..."

:)
Avatar billede eagleeye Praktikant
23. januar 2004 - 17:09 #9
er det din server?
Avatar billede eagleeye Praktikant
23. januar 2004 - 17:12 #10
Det kan være fordi IUSR_xx ikke har rettighed til temp folderne da access oprette en temp-fil for at virke.

Der skal også være skrive rettighed for Internet Guest Account / IUSR_xx til den folder selve database filen ligger i.
Avatar billede styless Nybegynder
23. januar 2004 - 17:40 #11
Nej det er ikke min egen server .. Den ligger hos en udbyder. Men jeg har samme problem på min egen server (vi tester ikke lokalt, må jeg ikke for chefen :) ). IUSR_XXX skulle have rettigheder. Alle andre steder jeg bruger update eller insert virker det fint.
Avatar billede medions Nybegynder
23. januar 2004 - 17:44 #12
prøv lgie med denne forbindelse:

<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("db.mdb")
strSQL = "DIN SQL SÆTNING"
Set objRs = objConn.Execute(strSQL)

While Not objRs.EOF
  Response.Write("Felt: " & objRs("Feltnavn") & "<br>")
objRs.MoveNext()
Wend
%>

og beskriv hvad den kommer ud med ad fejl osv.

//>Rune
Avatar billede styless Nybegynder
23. januar 2004 - 17:49 #13
Den kommer ikke ud med nogen fejl når den henter. Det er KUN når den updater og ÉN enkelt gang når jeg har lavet en insert.
Avatar billede styless Nybegynder
24. januar 2004 - 10:46 #14
Ingen forslag???
Avatar billede eagleeye Praktikant
24. januar 2004 - 12:24 #15
Husker du på alle sider at lukke forbildelsen til databasen??

forb.Close


Fejlen kommer fordi Access er en singel user database og når en anden har rettighed til at rette i databasen kan andre ikke. Fejlen kommer ikke ved SELECT den kommer ved INSERT og UPDATE sql sætninger.

Jeg vil anbefale du prøve en anden driver, OLEDB provideren den virker mere stabil en ODBC driveren.:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb"

Sådan:
forbindelse = "Data Source=" & server.mappath("db.mdb")
forb.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & forbindelse
Avatar billede styless Nybegynder
24. januar 2004 - 13:24 #16
Ja jeg husker at lukke forbindelsen. Men jeg vil lige prøve med en anden driver.
Avatar billede styless Nybegynder
26. januar 2004 - 11:08 #17
Could not save; currently locked by another user.

Er den fejl jeg får med den nye driver.
Avatar billede styless Nybegynder
16. februar 2004 - 22:53 #18
Okay ... Udbyderen genstartede maskinen og så virkede det fint. Ved ikke hvem der skal have point men hvem det så end er kom med svar.
Avatar billede eagleeye Praktikant
18. februar 2004 - 17:45 #19
Ok :)
jeg kan da smide et svar så kan du bestemme fordelingen.
Avatar billede styless Nybegynder
18. februar 2004 - 19:41 #20
Nu har du fået dem da nr. 2 ikke har meldt sig. Men det har du vel heller ikke noget imod :P
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