Databasen ligger i en katalog där
IUSR_<servernam> saknar skrivrättigheter. Det skall vara rxwd.
------------------
essentitia preter non sans multiplicandum
9 svar · 229 visningar · startad av Sammy
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
Databasen ligger i en katalog där
IUSR_<servernam> saknar skrivrättigheter. Det skall vara rxwd.
------------------
essentitia preter non sans multiplicandum
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
Högerklicka på den fysiska kattalogen, välj Security och fixa rättigheterna för användaren där.
//Micke
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?
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]
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
Är jag kanske tvungen att dela ut INETPUB mappen innan jag kan dela ut DB mappen som ligger i den mappen?
------------------
/Sammy Swärd