Håller just nu på och försöker lära mig ASP. Jag rekommenderar följande kod: Vill tilläga att du inte behöver en dynamisk skrivbar kursor.Provider error '80004005'
Just nu bygger jag på en sida till min filmdatabas som är i Access-format.
Nu till problemet...
Jag kan visa sidan men när jag reloadar den får jag bara upp:
Provider error '80004005'
Unspecified error
/dvd.asp, line 10
Efter ett antal försök så visas sidan en gång igen, sen händer samma sak igen.
Jag misstänker att det beror på att anslutningen till databasen inte stängs ordentligt.
Jag har sök runt i forumet men blir inte mycket klokare.
Här är koden:
<%
Dim objConn
Dim objRst
Dim strSQL
Set objConn = Server.CreateObject("ADODB.Connection") ' Skapar ADO Objekt
Set objRst = Server.CreateObject("ADODB.Recordset") ' Skapar recordset objekt
' Anslutnings sträng till Access databas.
objConn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("\databases\movies.mdb")
strSQL = "SELECT Title, Year, Category, IMDB FROM Movies ORDER BY Category"
objRst.Open strSQL, objConn , 2, 3
%>
<%
Do While Not objRst.EOF
%>
<tr >
<td><%If objRst("IMDB") <> "" Then%>" target="_blank"><% =objRst("Title") %> <%End If%></td>
<td><% =objRst("Year") %></td>
<td><% =objRst("Category") %></td>
</tr>
<%
objRst.MoveNext
Loop
objRst.Close
Set objRst=Nothing
objConn.Close
Set objConn=Nothing
%>
Sv: Provider error '80004005'
<%
Dim objConn
Dim objRst
Dim strSQL
Set objConn = Server.CreateObject("ADODB.Connection") ' Skapar ADO Objekt
Set objRst = Server.CreateObject("ADODB.Recordset") ' Skapar recordset objekt
' Anslutnings sträng till Access databas.
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("\databases\movies.mdb")
strSQL = "SELECT Title, Year, Category, IMDB FROM Movies ORDER BY Category"
objRst.Open strSQL, objConn , 2, 3
Do While Not objRst.EOF
response.write "<tr><td>"
If objRst("IMDB") <> "" Then
response.write ""& objRst("Title") &""
End If
response.write "</td>"& _
"<td>"& objRst("Year") &"</td>"& _
"<td>"& objRst("Category") &"</td>"& _
"</tr>"
objRst.MoveNext
Loop
objRst.Close
Set objRst=Nothing
objConn.Close
Set objConn=Nothing
%>
På så sätt minimerar du antalet <% %> block vilket innebär att servern inte behöver jobba på lika hårt.
Sen ändrade jag connection strängen så du använder MS Jet istället för ODBC.
Appropå ditt felmeddelande, testar du den lokalt på din dator?
Isf måste användaren IUSR_[Ditt datornamn] har läs och skrivrättigheter till katalogen där din databas ligger.
Lycka till
//Johannes
Sv:Provider error '80004005'
Så Skippa 2 och 3 i oppen satsen för recordsetet:
objRst.Open strSQL, objConn