Avatar billede axkris Nybegynder
06. juli 2005 - 16:38 Der er 9 kommentarer og
1 løsning

Class not registered

Hej alle

I dag stoppede min kalender med at fungere og den kom med følgende uforståelse fejl:

Provider error '80040154'
Class not registered
/kalender/admin_oversigt.asp, line 123

Jeg prøvede at udskrive sql'en, som er, men der er ingen problemer der:
SELECT * FROM KALENDER_EVENTS ORDER BY Date

Jeg prøvede også at køre sql'en manuel og det gik også fint.

Jeg har ikke ændret noget på scriptet i måske et år nu, men jeg har dog løbende ændret ting på serveren, dog virker sql-serveren fint.

Hvad kan fejlen være?

Koden er følgende og der fejles på den sidste linie:

<%
orderBy = request.querystring("orderby")

SearchWhere = request("SearchWhere")
SearchFor = request("SearchFor")

If (SearchWhere = "All") Then
    SQL_SearchWhere = "(Event_Name LIKE ('%" & SearchFor & "%') OR Date LIKE ('%" & SearchFor & "%') OR Location LIKE ('%" & SearchFor & "%') OR Category LIKE ('%" & SearchFor & "%'))"
Else
    SQL_SearchWhere = SearchWhere & " LIKE ('%" & SearchFor & "%')"
End If

If NOT (SearchFor = "") Then
    SQL_SearchFor = " WHERE " & SQL_SearchWhere
Else
    SQL_SearchFor = ""
End If

If orderBy = "Event_Name_Up" Then
    SQL_OrderBy = " ORDER BY Event_Name DESC"
ElseIf orderBy = "Event_Name_Down" Then
    SQL_OrderBy = " ORDER BY Event_Name"
ElseIf orderBy = "Date_Up" Then
    SQL_OrderBy = " ORDER BY Date DESC"
ElseIf orderBy = "Date_Down" Then
    SQL_OrderBy = " ORDER BY Date"
ElseIf orderBy = "Location_Up" Then
    SQL_OrderBy = " ORDER BY Location DESC"
ElseIf orderBy = "Location_Down" Then
    SQL_OrderBy = " ORDER BY Location"
ElseIf orderBy = "Category_Up" Then
    SQL_OrderBy = " ORDER BY Category DESC"
ElseIf orderBy = "Category_Down" Then
    SQL_OrderBy = " ORDER BY Category"
Else
    orderBy = "Date_Down"
    SQL_OrderBy = " ORDER BY Date"
End If

if mlev = 4 then
    SQL = "SELECT * FROM KALENDER_EVENTS " & SQL_SearchFor & SQL_OrderBy
else
    SQL = "SELECT * FROM KALENDER_EVENTS where author = " & MemberID & " " &  SQL_SearchFor & SQL_OrderBy
end if
%>

<form action="admin_oversigt.asp" Method="GET">

<table border="0" cellpadding="2" cellspacing="0" align="center">
<tr>
<td><font face="<%=strDefaultFontFace%>" size="<%=strDefaultFontSize%>" color="<%=strForumFontColor%>"><b>Søg efter</b></font></td>
<td>
<input type="text" name="SearchFor" class="inputBox" value="<%=SearchFor%>" size="20"></td>
<td><font face="Verdana, arial" size="1"  color="48576C"><b>i</b></font></td>
<td><select name="SearchWhere" class="inputBox">
<option value="All" <%If (SearchWhere = "All") Then%>SELECTED<%End If%>>Alle felter</option>
<option value="Event_Name" <%If (SearchWhere = "Email") Then%>SELECTED<%End If%>>Titel</option>
<option value="Date" <%If (SearchWhere = "Name_Last") Then%>SELECTED<%End If%>>Dato</option>
<option value="Location" <%If (SearchWhere = "Date_In") Then%>SELECTED<%End If%>>Landsdel</option>
<option value="Location" <%If (SearchWhere = "Date_In") Then%>SELECTED<%End If%>>Type</option>
</select></td>
<td><input type="submit" value="Ok" class="inputSubmit"></td>
</tr>
</table>
</td>
</tr>
</table>
</form>

<%

Set RS = Server.CreateObject("ADODB.Recordset")

dim intPage
dim intPageCount
dim intRecordCount

If Request.QueryString("page") = "" Then
    intPage = 1   
Else
    intPage = Request.QueryString("page")
End If
   
RS.CursorLocation = 3
RS.CursorType = 3
RS.ActiveConnection = DataConn
   
response.write SQL
RS.Open SQL, DataConn, 1, 3
Avatar billede rbj_fp Nybegynder
06. juli 2005 - 19:04 #1
Hvor er DataConn instansieret??

Hvis denne forbindelse ikke er skabt, så vil den jo fejle.

// RBJ
Avatar billede axkris Nybegynder
15. juli 2005 - 10:11 #2
Fejlen er fundet... det var "RS.CursorLocation = 3" som skabte "Class not registered"

Nu er linien slået fra og så virker det igen.

RS.CursorLocation = 3
RS.CursorType = 3
RS.ActiveConnection = DataConn
   
RS.Open SQL, DataConn, 1, 3

Det mystiske er så bare, at det har virket i lang tid uden problemer og så "pludselig" står koden af. Har du et bud?
Avatar billede rbj_fp Nybegynder
17. juli 2005 - 14:36 #3
Undskyld jeg først svare tilbage nu, men jeg har holdt ferie... :-) så det er ikke lige hverdag man får checket posten.

Jeg kan se at det er drejer sig om ASP - kode, og databaser, så mit bedste bud er en omgang windows update som har introduceret fejlen.

Jeg ved ikke om det er lokalt eller på webserver(som ikke står hos dig) du har fået problemer?

Kig efter om der er kommet nye MDAC updates, som er blevet installeret.

// RBJ
Avatar billede rbj_fp Nybegynder
17. juli 2005 - 14:37 #4
Det er meget almindeligt at når de hos Microsoft piller ved MDAC-stacken som virker intet af det ældre kode, som har virket i lang tid. :-( og det elsker vi jo bare
Avatar billede axkris Nybegynder
17. juli 2005 - 14:38 #5
Takker, det er på webserveren at fejlen er kommet. Den står og opdaterer sig selv.
Avatar billede rbj_fp Nybegynder
18. juli 2005 - 09:06 #6
No Problem :-)

Hvor man dog elsker Automatisk Windows Update.

// RBJ
Avatar billede axkris Nybegynder
18. juli 2005 - 09:27 #7
Gad vide hvordan databasen nu opfører sig, når "RS.CursorLocation = 3" er koblet fra (for ellers virker det jo ikke). Hvad gør denne kommando? Har den nogen betydning, fordi kalender-scriptet ser ud til at virke fint (med den koblet af).
Avatar billede rbj_fp Nybegynder
18. juli 2005 - 09:57 #8
Avatar billede axkris Nybegynder
29. august 2005 - 23:40 #9
Glemte den helt - det virker - takker - tryk svar :-)
Avatar billede axkris Nybegynder
01. oktober 2005 - 19:59 #10
Lukketid
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester