webForumDet fria alternativet

Varför får jag detta meddelande?

ASP

9 svar · 231 visningar · startad av Sammy

Medlem sedan maj 2000202 inlägg
Frågan#1

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Drivrutin för ODBC Microsoft Access] Operationen måste använda en fråga som kan uppdateras.
/pcdonline/password/check.asp, line 31

När jag förut körde PWS så fungerade det men nu när jag kör IIS så får jag detta meddelande.

Här är koden:

'Skapar koppling till databasen
Set connection = server.createObject("adodb.connection")
connection.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../../../db/konto.mdb") & ";"
'provar att från databasen hämta en post som stämmer överrens med uppgifterna från formuläret
stm = "SELECT * FROM konto WHERE anvnamn = '"&namn&"' AND losen = '"&losen&"' "
set RS = Connection.Execute(stm)

'Kontrollerar om någon post hämtades(lyckad inloggning)
IF NOT RS.EOF then
'skapar session för att ange att användaren har loggat in
session("inloggad") = "ja"
Session("fel") = ""

If namn = "admin" then
Response.Redirect("../main/login.asp")
Else

SQL = "INSERT INTO log (anvnamn) VALUES('" & namn & "')"
set RS = Connection.Execute(SQL)

Response.Redirect("../main/login.asp")
End If

------------------
/Sammy Swärd

Medlem sedan dec. 200012 464 inlägg
#2

Databasen ligger i en katalog där
IUSR_<servernam> saknar skrivrättigheter. Det skall vara rxwd.

------------------
essentitia preter non sans multiplicandum

Medlem sedan maj 2000202 inlägg
#3

Det stämmer nog ganska bra det eftersom databasen ligger under Inetpub i en katalog som heter db och inte under wwwroot.

I PSW fungerade det alldelles utmärkt som sagt men i IIS är det värre. Måste jag då skapa en virtuell webbplats för db katalogen eller hur ska jag gå tillväga?

Nu blev ju detta som från början var en fråga för ASP en fråga för IIS men jag hoppas ändå jag kan få svar här?

------------------
/Sammy Swärd

Medlem sedan okt. 200112 inlägg
#4

Högerklicka på den fysiska kattalogen, välj Security och fixa rättigheterna för användaren där.

//Micke

Medlem sedan maj 2000202 inlägg
#5

Menar du i typ utforskaren för jag ser inte denna katalog i IIS?

------------------
/Sammy Swärd

Medlem sedan feb. 20012 412 inlägg
#6

Hej!

Har inte med felet att göra, men du behöver inte skapa ett recset vid en INSERT:

SQL = "INSERT INTO log (anvnamn) VALUES('" & namn & "')"
set RS = Connection.Execute(SQL)

kan du byta mot:

SQL = "INSERT INTO log (anvnamn) VALUES('" & namn & "')"
Connection.Execute(SQL)

eller

SQL = "INSERT INTO log (anvnamn) VALUES('" & namn & "')"
Connection.Execute SQL,,128

Det senaste är att föredra :)

mvh Jörgen :)

------------------
Varför bråka när man kan kramas?

Medlem sedan maj 2000202 inlägg
#7

Det fungerade heller inte? Fick samma felmeddelande!

------------------
/Sammy Swärd

Medlem sedan mars 20002 836 inlägg
#8

i utforskaren så får du högerklicka på mappen (i detta fall mappen db) välja egenskaper/properties och sedan välja tab-fliken behörighet/security lägga till användaren <IUSR_servername> och sätta behörigheten till skriv.

cya,
PatrikB

------------------
*ordning och reda!, pengar på fredag.*

[Redigerat av PatrikB den 24 okt 2001]

Medlem sedan maj 2000202 inlägg
#9

Tack för hjälpen PatrikB, men jag har redan testat detta utan framgång.

Något som jag inte riktigt blir klok på att varje gång jag kör egenskaper på just denna mapp så är den skrivskyddad trots att jag avaktiverar detta varje gång?

Det ser ut som om jag får ändra databasens plats istället?

Eller har någon något annat förslag?

------------------
/Sammy Swärd

Medlem sedan maj 2000202 inlägg
#10

Är jag kanske tvungen att dela ut INETPUB mappen innan jag kan dela ut DB mappen som ligger i den mappen?

------------------
/Sammy Swärd

256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)