weedogtMedlem sedan mars 200427 inlägg Hej,
Jag har installerat ASP.NET 1.1 på min WinXP och det funkar bra. Jag har också intallerat Web Matrix som editor vilket också funkar bra.
Mitt problem är att den server som följde med ASP.NET genererar ett fel som inte förekommer när jag använder den server (WebServer.exe) som följde med Web Matrix.
Så här ser min kod ut:
Dim cn As OleDbConnection
Dim cm As OleDbCommand
dim dblink as string
Dim sql As String
sql = "UPDATE issues SET status='1' WHERE ID='2'"
dblink="C:\\Inetpub\\wwwroot\\db\\issues.mdb"
cn = New OleDbConnection( "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & dblink & ";")
cm = New OleDbCommand(sql, cn)
cn.Open()
**cm.ExecuteNonQuery()** *\<\< Här stoppar det!*
cn.Close()
När jag kör med WebServer.exe aktiverat funkar det utmärkt. Men nar jag kör med den "vanliga" ASP.NET 1.1 servern så får jag följande fel:
Exception Details: System.Data.OleDb.OleDbException: Operation must use an updateable query.
Jag har provat att köra samma kod på en annan WinXP maskin med samma(?) ASP.NET installation och då funkar det i båda fallen. Att Läsa från databasen funkar dock alltid på båda maskinerna.
Frågor:
Är min kod inte bra?
Har jag bommat någon inställning tex i IIS i den maskin där det inte funkar?
Tacksam för tips!
TravoniMedlem sedan okt. 20041 556 inlägg Om fälten status & ID är av numerisk typ skall din sträng se ut så här:
sql = "UPDATE issues SET status=1 WHERE ID=2"
weedogtMedlem sedan mars 200427 inlägg
Travoni skrev:
Om fälten status & ID är av numerisk typ skall din sträng se ut så här:
sql = "UPDATE issues SET status=1 WHERE ID=2"
Min fält är stängar, så sql statsen funkar hur bra som helst.
Det är vid själva anropet av databasen som det sker något. Jag tror att det handlar om ett problem med skrivrättigheter eller likande. Jag har dock inte lyckats bena ut "vilken knapp jag ska trycka på" för att att få till det.
TravoniMedlem sedan okt. 20041 556 inlägg Du måste se till att IUSR har skrivrättigheter på din databasmapp.
Alltså inte bara i iis-kontrollpanelen utan även på mappen.
BTW: Varför ha strängar på ett id-fält?
Strängar hanteras långsammare i en databas.
weedogtMedlem sedan mars 200427 inlägg
Travoni skrev:
Du måste se till att IUSR har skrivrättigheter på din databasmapp. Alltså inte bara i iis-kontrollpanelen utan även på mappen.
Jag har nu satt bock för alla "allow" ("Full controll") för IUSR på mappen med databasen. Det funkar ändå inte. :(
TW: Varför ha strängar på ett id-fält?
Strängar hanteras långsammare i en databas.
Bra fråga... Jag är nybörjare. Jag ska ändra!
weedogtMedlem sedan mars 200427 inlägg Nu har jag fått det att funka! Efter att ha letat på andra ASP.NET forum är det uppenbart att detta problem har MÅNGA haft.
Jag gjorde så här:
1. Högerklicka på foldern där databasfilen ligger.
2. Klicka på "Security" fliken (obs att "Use simple file sharing" i explorer/tools/folder options/view inte får vara valt!)
3. Klicka på "Add...".
4. Skriv in "ASPNET" och klicka på OK.
5. Bocka för Allow för den nya raden ("ASP.NET....").
6. Stäng, tuta och kör!
Det verkar också vara så att sitter man och kör på en "ensam" dator (tex hemma) så har man normalt inte problemet. Men om man kör en nätverksansluten (man tillhör en domain) dator (tex på jobbet) så har man det.
TravoniMedlem sedan okt. 20041 556 inlägg Bra, att du delar med dig av dina framgångar så kan alla ta del av dem. :i