Det skall tilläggas att jag inte är en expert på ASP, samt databaser och det fel jag stött på är för mig helt ofattbart. Därför tänkte jag att jag vänder mig hit för att kunna få lite hjälp. Här följer problemet som genereras: Det felet uppkommer när man inte har satt rätt skrivrättigheter på databasen. Hur ändrar jag dessa? Jag tänkte att jag skulle testa det som du skrev, dock stötte jag omedelbart på problem... Jag fann tillslut den flik du referade till. Jag var dock tvungen att ändra att ta bort förenklad fildelning under mappalternativ. Sedan kunde jag endast lägga till den användare som referar till IIS och ge den de rättigheterna som jag behövde. Nu fungerar den som det ska. Tackar så mycket för hjälpen.IIS 5.1 problem med ASP och databas.
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.
/thomas/guestbook/guestbook.asp, line 40
Webbläsare:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Och här följer min kod:
<code>
<% Response.Buffer = True %>
<TABLE border="0" width="80%">
<FORM action="default.asp?action=send" method="post" name="frmGuestBook" onsubmit="return CheckForm();">
<TR>
<TD>Namn:<BR><INPUT tabindex="1" class="textbox" type="text" name="txtName" style="WIDTH: 100%"></TD>
</TR>
<TR>
<TD>E-postadress:<BR><INPUT tabindex="2" class="textbox" type="text" name="txtEmail" style="WIDTH: 100%"></TD>
</TR>
<TR>
<TD>Webbsida:<BR><INPUT tabindex="3" class="textbox" type="text" name="txtWebsite" style="WIDTH: 100%"></TD>
</TR>
<TR>
<TD>Meddelande:<BR><TEXTAREA tabindex="4" class="textarea" style="WIDTH: 100%; OVERFLOW: auto" name="txtMsg" cols="65" rows="10"></TEXTAREA></TD>
</TR>
<TR>
<TD align="right"><INPUT tabindex="5" alt="Skicka" type="image" src="../images/btn_submit.gif" onMouseOver="OverNav(7, 'Skicka // '); return true;" onMouseOut="OutNav(7)"></TD>
</TR>
</FORM>
</TABLE>
<%
If Request.QueryString("action") = "send" Then
Dim Name, Email, Website, Text, Date, iCn
Name = Trim(Request.Form("txtName"))
Email = Trim(Request.Form("txtEmail"))
If Len(Trim(Request.Form("txtWebsite"))) = 7 Then Website = "" Else Website = Trim(Request.Form("txtWebsite"))
Text = Trim(Request.Form("txtMsg"))
Date = Now()
Select Case ""
Case Name, Text
Response.Write("Du måste fylla i fälten Namn och Meddelande...")
Case Else
Set iCn = Server.CreateObject("ADODB.Connection") 'Connection Object
iCn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../db/db.mdb") 'Open database
iCn.Execute("Insert Into tbl_guestbook([Name],[Email],[Website],[Text],[Date])" & "Values('" & Name & "','" & Email & "','" & Website & "','" & Text & "','" & Date & "')")
iCn.Close : Set iCn = Nothing 'Close Object
Response.Redirect("default.asp")
End Select
End If
%>
<%
Dim Cn, Rs
Set Cn = Server.CreateObject("ADODB.Connection") 'Connection Object
Cn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../db/db.mdb") 'Open database
Set Rs = Cn.Execute("Select Name,Email,Website,Text,Date From tbl_guestbook Order By Id Desc")
If Rs.EOF Then
Response.Write("Det finns inga inlägg i gästboken än...")
Else
Do While Not Rs.EOF
Response.Write("Inlägg: " & Replace(Rs("Text"),vbCrLf,"<BR>") & "<P>" & "" & Rs("Name") & " | " & Rs("Date"))
If Len(Rs("Email")) > 0 Then Response.Write("<BR>" & Rs("Email") & "")
If Len(Rs("Website")) > 0 Then Response.Write("" & Mid(Rs("Website"),8,Len(Rs("Website"))-6) & "")
Response.Write("</P><BR>")
Rs.MoveNext
Loop
End If
Rs.Close : Set Rs = Nothing
Cn.Close : Set Cn = Nothing
%>
</code>
Vore tacksam för hjälp...Johan...Sv: IIS 5.1 problem med ASP och databas.
Sv: IIS 5.1 problem med ASP och databas.
Jag har gått in i snapin-modulen och sedan markerat den mapp som databasen ligger i och sedan högerklickat, där har jag fyllt i "läsbehörighet", "skrivbehörighet" och "åtkomst till skriptkälla". Är det något mer jag måste göra...sitter här helt rådlös...
Tack på förhand...
MvH Johan.Sv: IIS 5.1 problem med ASP och databas.
Du måste ge IUSR_nn rättigheterna, det är den användaren som IIS använder sig av.
Enklast gör du det genom att högerklicka på mappen i utforskaren, välja säkerhet och där lägga till användaren. Det är lite olika beroende på vilket OS man kör.
//Anna-KarinSv: IIS 5.1 problem med ASP och databas.
Jag valde den mapp jag placerat databasen i och högerklickade (det är säkert här skillnaderna mella operativssytemen är (jag kör WinXP Pro)). Delning och säkerhet fanns...klickade där och där existerade ingen utom länk till delade dokument samt en guide för att konfigurera nätverk, så jag tänkte att jag skulle välja webbdelning i stället. Där kunde jag välja att dela ut mappen och då kom de inställningar upp likt ovanstående läsbehörighet, skrivbehörighet etc. Jag kryssad i dem och testade sedan att försöka skriva till databasen genom mitt formulär men samma felmeddelande som ovan visades... Nu är jag verkligen rådlös... Någon som har någon idé...
Tack på förhand!
MvH Johan.Sv: IIS 5.1 problem med ASP och databas.
MvH Johan.