Avatar billede xion Nybegynder
12. februar 2001 - 19:56 Der er 5 kommentarer og
1 løsning

mangler objekt: Server.CreateObject(\"ixsso.Query\")

hvordan kan jeg få følgende script til at virke på en NT4 IIS4 maskine??

Jeg ved det virker på en Windows 2000 maskine + en anden NT4 maskine jeg har!!

hvis jeg prøver at køre scriptet, kommer følgende fejl:
----------------
Server object error \'ASP 0177 : 800401f3\'

Server.CreateObject Failed

/search/index.asp, line 408

Invalid class string
----------------

Her er scriptet:
<html>

<head><!--SEARCHSCRIPT!-->
<title>Søg &amp; Find</title>
</head>

<body topmargin=\"0\" leftmargin=\"0\">

<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"589\" class=\"scenetext\">
      <tr>
        <td width=\"10\" height=\"10\"></td>
        <td width=\"580\" height=\"10\"></td>
      </tr>
      <tr>
        <td width=\"590\" colspan=\"2\"></td>
      </tr>
      <tr>
        <td width=\"10\" height=\"10\"></td>
        <td width=\"580\" valign=\"top\" align=\"left\" height=\"10\">&nbsp;<form ACTION=\"index.asp\" METHOD=\"get\">
          <p><input TYPE=\"TEXT\" NAME=\"SearchString\" SIZE=\"17\"><input TYPE=\"Submit\" VALUE=\"SØG\"></p>
        </form>
        <p>&nbsp;</td>
      </tr>
    <tr>
    <td width=\"10\" height=\"10\"></td>
    <td>
        <%
    if request.querystring(\"searchstring\")<>\"\" then
\' ********** INSTRUCTIONS FOR QUICK CUSTOMIZATION **********
\'
\' This form is set up for easy customization. It allows you to modify the
\' page logo, the page background, the page title and simple query
\' parameters by modifying a few files and form variables. The procedures
\' to do this are explained below.
\'
\'
\' *** Modifying the Form Logo:

\' The logo for the form is named is2logo.gif. To change the page logo, simply
\' name your logo is2logo.gif and place in the same directory as this form. If
\' your logo is not a GIF file, or you don\'t want to copy it, change the following
\' line so that the logo variable contains the URL to your logo.

\'        FormLogo = \"is2logo.gif\"

\'
\' *** Modifying the Form\'s background pattern.

\' You can use either a background pattern or a background color for your
\' form. If you want to use a background pattern, store the file with the name
\' is2bkgnd.gif in the same directory as this file and remove the remark character
\' the single quote character) from the line below. Then put the remark character on
\' the second line below.
\'
\' If you want to use a different background color than white, simply edit the
\' bgcolor line below, replacing white with your color choice.

\'      FormBG = \"background = \" & chr(34) & \"is2bkgnd.gif\" & chr(34)
        FormBG = \"bgcolor = \" & chr(34) & \"#FFFFFF\" & chr(34)


\' *** Modifying the Form\'s Title Text.

\' The Form\'s title text is set on the following line.
\'
\' *** Modifying the Form\'s Search Scope.
\'
\' The form will search from the root of your web server\'s namespace and below
\' (deep from \"/\" ). To search a subset of your server, for example, maybe just
\' a PressReleases directory, modify the scope variable below to list the virtual path to
\' search. The search will start at the directory you specify and include all sub-
\' directories.

      FormScope = \"/\"


\'
\' *** Modifying the Number of Returned Query Results.
\'
\' You can set the number of query results returned on a single page
\' using the variable below.

        PageSize = 10

\'
\' *** Setting the Locale.
\'
\' The following line sets the locale used for queries. In most cases, this
\' should match the locale of the server. You can set the locale below.

        SiteLocale = \"da\"

\' ********** END QUICK CUSTOMIZATION SECTIONS ***********
noise=\",about,after,all,also,an,another,any,and,are,as,at,be,because,been,before,being,between,both,but,by,came,can,come,could,did,do,each,for,from,get,got,has,had,he,have,her,here,him,himself,his,how,if,in,into,is,it,like,make,many,me,might,more,most,much,must,my,never,near,now,of,on,only,or,other,our,out,over,said,same,see,should,since,some,still,such,take,than,that,the,their,them,then,there,these,they,this,those,through,to,too,under,up,very,was,way,we,well,were,what,where,which,while,who,with,would,you,your,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$,1,2,3,4,5,6,7,8,9,0,_,!,&,~,|,?,I,\"

punc2=\"$,1234567890_!&~|? #+()\"
punc=\"$,1234567890_!&~|?#@%^+\"
%>

<%
\' Set Initial Conditions
    NewQuery = FALSE
    UseSavedQuery = FALSE
    SearchString = \"\"

\' Did the user press a SUBMIT button to execute the form? If so get the form variables.
    if Request.ServerVariables(\"REQUEST_METHOD\") = \"POST\" then
        SearchString = Request.Form(\"SearchString\")
    SearchType=Request.QueryString(\"SearchType\")
    if SearchString<>\"\" then
        Session(\"SearchStringDisplay\")=SearchString
    end if
        FreeText = Request.Form(\"FreeText\")
    QueryForm = \"Query.Asp\"
    CiResultsSize = Request.Form(\"CiResultsSize\")
    CiLimits = Request.Form(\"CiLimits\")
        \' NOTE: this will be true only if the button is actually pushed.
        \' if Request.Form(\"Action\") = \"Search\" then
            NewQuery = TRUE
        if CiLimits = \"on\" then
            RankBase=50
        else
            RankBase=100
        end if
        \' end if
    end if
    if Request.ServerVariables(\"REQUEST_METHOD\") = \"GET\" then
        SearchString = Request.QueryString(\"SearchString\")
    QueryForm = \"index.Asp\"
    CiResultsSize = Request.QueryString(\"CiResultsSize\")
                FreeText = Request.QueryString(\"FreeText\")
                FormScope = Request.QueryString(\"sc\")
                RankBase = Request.QueryString(\"RankBase\")
        if Request.QueryString(\"pg\") <> \"\" then
            NextPageNumber = Request.QueryString(\"pg\")
            NewQuery = FALSE
            UseSavedQuery = TRUE
        else
            NewQuery = SearchString <> \"\"
        end if
    end if

  if NewQuery then
    set Session(\"Query\") = nothing
    set Session(\"Recordset\") = nothing
    NextRecordNumber = 1

    \'Strip punctuation from search term
    for x = 1 to len(SearchString)
      testpunc= mid(SearchString,x,1)
      if instr(punc,testpunc) then
        SearchStringErr= SearchStringErr
      else
        SearchStringErr = SearchStringErr + testpunc
      end if
    next
    SearchString = SearchStringErr


  if SearchType=0 Then
    \'Strip noise words from search term
    SearchStringComp=SearchString+\" \"
    for x = 1 to len(SearchStringComp)
    if mid(SearchStringComp,x,1)=\" \" Then
        ncompare2 = \",\"+ncompare+\",\"
        if instr(noise,ncompare2) = 0 then
            NewCompare=NewCompare+\" \"+ncompare
        End If
        ncompare=\"\"
    else
        ncompare=ncompare+mid(SearchString,x,1)
    end if
    next       
    x = len(NewCompare)
    if left(NewCompare,1) = \" \" Then
      NewCompare = right(NewCompare,(x-1))
    end if
    SearchString=NewCompare
        CompSearch = \"$CONTENTS \" + SearchString
  end if

  if SearchType=1 Then
    CompSearch = chr(34) + SearchString + chr(34)
  end if

  if SearchType=2 Then
    \'Strip noise words from search term
    SearchStringComp=SearchString+\" \"
    for x = 1 to len(SearchStringComp)
    if mid(SearchStringComp,x,1)=\" \" Then
        ncompare2 = \",\"+ncompare+\",\"
        if instr(noise,ncompare2) = 0 then
            NewCompare=NewCompare+\" \"+ncompare
        End If
        ncompare=\"\"
    else
        ncompare=ncompare+mid(SearchString,x,1)
    end if
    next       
    x = len(NewCompare)
    if left(NewCompare,1) = \" \" Then
      NewCompare = right(NewCompare,(x-1))
    end if
    SearchString=NewCompare
    slen=len(SearchString)
    for k = 1 to slen
    slet = Mid(SearchString,k,1)
      if slet <> \" \" then
            ss1=ss1+slet
      else
        ss1=ss1+ \" AND \"
      end if
    Next
        CompSearch=ss1
    If Right(CompSearch,5) = \" AND \" Then CompSearch = Left(CompSearch,Len(CompSearch)-5)
  end if

if SearchType=3 Then
    \'Strip noise words from search term
    SearchStringComp=SearchString+\" \"
    for x = 1 to len(SearchStringComp)
    if mid(SearchStringComp,x,1)=\" \" Then
        ncompare2 = \",\"+ncompare+\",\"
        if instr(noise,ncompare2) = 0 then
            NewCompare=NewCompare+\" \"+ncompare
        End If
        ncompare=\"\"
    else
        ncompare=ncompare+mid(SearchString,x,1)
    end if
    next       
    x = len(NewCompare)
    if left(NewCompare,1) = \" \" Then
      NewCompare = right(NewCompare,(x-1))
    end if
    SearchString=NewCompare
    slen=len(SearchString)
    for k = 1 to slen
    slet = Mid(SearchString,k,1)
      if slet <> \" \" then
            ss1=ss1+slet
      else
        ss1=ss1+ \" OR \"
      end if
    Next
        CompSearch=ss1
    If Right(CompSearch,4) = \" OR \" Then CompSearch = Left(CompSearch,Len(CompSearch)-4)
  end if

  if SearchType=4 Then
    \'Strip noise words from search term
    NCompare=\"\"
    NewCompare=\"\"
    SearchStringComp=SearchString+\" \"
    for x = 1 to len(SearchStringComp)
    if mid(SearchStringComp,x,1)=\" \" Then
        ncompare2 = \",\"+ncompare+\",\"
        if instr(noise,ncompare2) = 0 then
            NewCompare=NewCompare+\" \"+ncompare
        End If
        ncompare=\"\"
    else
        ncompare=ncompare+mid(SearchString,x,1)
    end if
    next       
    x = len(NewCompare)
    if left(NewCompare,1) = \" \" Then
      NewCompare = right(NewCompare,(x-1))
    end if
    SearchString=NewCompare
    CompSearch = SearchString
  end if


    set Q = Server.CreateObject(\"ixsso.Query\")
        set util = Server.CreateObject(\"ixsso.Util\")
    Q.Query = CompSearch & \" and not #vpath *\\_*\"
    Q.Catalog = \"web\"
    Q.SortBy = \"rank[d]\"
    Q.Columns = \"DocTitle, vpath, filename, size, write, characterization, rank\"
    Q.MaxRecords = RankBase

        if FormScope <> \"/\" then
                \'util.AddScopeToQuery Q, FormScope, \"deep\"
        end if

        if SiteLocale<>\"\" then
                Q.LocaleID = util.ISOToLocaleID(SiteLocale)
        end if
    On Error Resume Next
    set RS = Q.CreateRecordSet(\"nonsequential\")

    RS.PageSize = PageSize
    Test = RS.PageSize
    ActiveQuery = TRUE



  elseif UseSavedQuery then
    if IsObject( Session(\"Query\") ) And IsObject( Session(\"RecordSet\") ) then
      set Q = Session(\"Query\")
      set RS = Session(\"RecordSet\")


      if RS.RecordCount <> -1 and NextPageNumber <> -1 then
        RS.AbsolutePage = NextPageNumber
        NextRecordNumber = RS.AbsolutePosition
      end if

      ActiveQuery = TRUE
    else
      Response.Write \"Fejl - ingen gemt forespørgsel\"
    end if
  end if


If Err<>424 Then

  if ActiveQuery then
    if not RS.EOF then
%>


<%LastRecordOnPage = NextRecordNumber + RS.PageSize - 1
KLastRecordOnPage=LastRecordOnPage
If KLastRecordOnPage>RS.RecordCount Then KLastRecordOnPage=RS.RecordCount%>


<b>Du søgte efter :<i> <%=request.querystring(\"SearchString\")%></i></b><br><br>
<b><i><font face=\"Verdana\" size=\"1\" color=\"#999999\"><%=NextRecordNumber%> - <%=KLastRecordOnPage%> af <%=RS.RecordCount%> resultater fundet</b></i></font><br>
<p>

<%
        LastRecordOnPage = NextRecordNumber + RS.PageSize - 1
        CurrentPage = RS.AbsolutePage
        if RS.RecordCount <> -1 AND RS.RecordCount < LastRecordOnPage then
            LastRecordOnPage = RS.RecordCount
        end if

%>

<%

%>

<% if Not RS.EOF and NextRecordNumber <= LastRecordOnPage then%>
        <table border=0>
<% end if %>

<%

Do While Not RS.EOF and NextRecordNumber <= LastRecordOnPage

        \' This is the detail portion for Title, Description, URL, Size, and
    \' Modification Date.



TmpExt = Server.HTMLEncode( RS(\"filename\") )
FullExt = Right(TmpExt, 3)

If FullExt <> \"cnt\" and FullExt <> \"hhc\" and FullExt <> \"hpj\" and FullExt <> \"hlp\" and FullExt <> \"rtf\" and FullExt <> \"asf\" and FullExt <> \"gid\" and FullExt <> \"fts\" and FullExt <> \"wmp\" and FullExt <> \"hhk\" and FullExt <> \"txt\" and FullExt <> \"ass\" and FullExt <> \"idq\" and FullExt <> \"ncr\" and FullExt <> \"ncl\" and FullExt <> \"url\" and FullExt <> \"css\" and FullExt <> \"prp\" and FullExt <> \"htx\" and FullExt <> \"htw\" and FullExt <> \"tmp\" and FullExt <> \"mdb\" and FullExt <> \"xls\" and FullExt <> \"chm\" Then





    \' If there is a title, display it, otherwise display the filename.



%>
    <p>
    <tr class=\"RecordTitle\">
            <td><font face=\"Verdana\" size=\"1\" color=\"#999999\"><b><%=NextRecordNumber%>.</b></td>
        <b class=\"RecordTitle\"> <td><b>
            <%if VarType(RS(\"DocTitle\")) = 1 or RS(\"DocTitle\") = \"\" then%>
                <font face=\"Verdana\" size=\"1\" color=\"#999999\">
                <a href=\"<%=RS(\"vpath\")%>\" class=\"RecordTitle\"><%= Server.HTMLEncode( RS(\"filename\") )%></a>&nbsp;(<%=RS(\"rank\")/10%>%)
            <%else%>
                <font face=\"Verdana\" size=\"1\" color=\"#999999\">
                <a href=\"<%=RS(\"vpath\")%>\" class=\"RecordTitle\"><%= Server.HTMLEncode(RS(\"DocTitle\"))%></a>&nbsp;(<%=RS(\"rank\")/10%>%)
            <%end if%>
        </b><br>
            <%if VarType(RS(\"characterization\")) = 8 and RS(\"characterization\") <> \"\" then%>
                <%= RS(\"characterization\")%>
       
        <%end if%>
        <%if CiResultsSize = \"on\" then%>
                <%end if%>
        </td>
    </tr>
    <tr>
    </tr>
<%
else
  NextRecordNumber = NextRecordNumber-1
end if
          RS.MoveNext
          NextRecordNumber = NextRecordNumber+1
      Loop
%>
</table>
<P><BR>
<%
  else  \' NOT RS.EOF
      if NextRecordNumber <> 1 then
          Response.Write \"No more documents in the query.<P>\"
      end if

  end if \' NOT RS.EOF
 
  if Q.QueryIncomplete then
\'    If the query was not executed because it needed to enumerate to
\'    resolve the query instead of using the index, but AllowEnumeration
\'    was FALSE, let the user know %>
    <P>
    <I><B>The query could not be completed. Please resubmit the query.<BR> Technical details: AllowEnumeration must be set to TRUE to complete this query.</B></I><BR>
<%end if
  if Q.QueryTimedOut then
\'    If the query took too long to execute (for example, if too much work
\'    was required to resolve the query), let the user know %>
    <P>
    <I><B>The query took too long to complete.</B></I><BR>
<%end if%>
<TABLE>
<%
\'    This is the \"previous\" button.
\'    This retrieves the previous page of documents for the query.
SaveQuery = FALSE
if CurrentPage > 1 and RS.RecordCount <> -1 then %>
    <td align=left>
        <form action=\"<%=QueryForm%>\" method=\"get\" id=\"tilbage\">
            <INPUT TYPE=\"HIDDEN\" NAME=\"SearchString\" VALUE=\"<%=SearchString%>\">
                        <INPUT TYPE=\"HIDDEN\" NAME=\"FreeText\" VALUE=\"<%=FreeText%>\">
        <INPUT TYPE=\"HIDDEN\" NAME=\"CiResultsSize\" VALUE=\"<%=CiResultsSize%>\">
            <INPUT TYPE=\"HIDDEN\" NAME=\"sc\" VALUE=\"<%=FormScope%>\">
            <INPUT TYPE=\"HIDDEN\" name=\"pg\" VALUE=\"<%=CurrentPage-1%>\" >
            <INPUT TYPE=\"HIDDEN\" NAME = \"RankBase\" VALUE=\"<%=RankBase%>\">
        <font face=\"Verdana\" size=\"1\" color=\"#999999\">
            <a href=\"java script: tilbage.submit();\"><< Tilbage</a>
        </form>
    </td>
        <%SaveQuery = TRUE
        end if
       
\'    This is the \"next\" button for unsorted queries.
\'    This retrieves the next page of documents for the query.

  if Not RS.EOF then%>
    <td align=right>
        <form action=\"<%=QueryForm%>\" method=\"get\" id=\"frem\">
            <INPUT TYPE=\"HIDDEN\" NAME=\"SearchString\" VALUE=\"<%=SearchString%>\">
                        <INPUT TYPE=\"HIDDEN\" NAME=\"FreeText\" VALUE=\"<%=FreeText%>\">
        <INPUT TYPE=\"HIDDEN\" NAME=\"CiResultsSize\" VALUE=\"<%=CiResultsSize%>\">
            <INPUT TYPE=\"HIDDEN\" NAME=\"sc\" VALUE=\"<%=FormScope%>\">
            <INPUT TYPE=\"HIDDEN\" name=\"pg\" VALUE=\"<%=CurrentPage+1%>\" >
            <INPUT TYPE=\"HIDDEN\" NAME = \"RankBase\" VALUE=\"<%=RankBase%>\">
        <font face=\"Verdana\" size=\"1\" color=\"#999999\">
            <a href=\"java script: frem.submit();\">Frem >></a>
        </form>
    </td>
    <%SaveQuery = TRUE
    end if%>

</TABLE>

<% \' Display the page number
if RS.RecordCount = 0 then%>
        Ingen dokumenter svare til forespørgslen: <%=SearchString%>.<br><br>

    Du kan:
    <UL><LI>Fortælle os om søgeresultatet <a href=\"mailto:fornavn.efternavn@domain.com?subject=<%=SearchString%>-search%20term%20not%20matched&body=The%20term%20\'<%=SearchString%>\'%20produced%20no%20matches.\">(mailto:mail.adr@domain.com)</a> så vi kan forbedre søgefunktionen.
    <LI>Søge efter realterede emner.
    <LI>Kontroller stavning.
    <LI>Prøve en anden søgemetode (Standard, nøjagtig sætning, valgfrit ord, alle ord og Boolean kan anvendes).
    <LI>Prøv din forespørgsel senere. Hvis du først lige har startet søgefunktionen, kan det tage nogle få minutter at katalogisere IIS dokumentationen.
    </UL>
    <%else%>

Page <%=CurrentPage%>
<%
if RS.PageCount <> -1 then
    Response.Write \" of \" & RS.PageCount
  end if
  end if
 
    \' If either of the previous or back buttons were displayed, save the query
    \' and the recordset in session variables.
    if SaveQuery then
        set Session(\"Query\") = Q
        set Session(\"RecordSet\") = RS
    else
        RS.close
        Set RS = Nothing
        Set Q = Nothing
        set Session(\"Query\") = Nothing
        set Session(\"RecordSet\") = Nothing
    end if
  end if %>
</BODY>
</HTML>
<%else

    \'Strip noise words from search term
    NCompare=\"\"
    NewCompare=\"\"
    SearchStringComp=SearchString+\" \"
    for x = 1 to len(SearchStringComp)
    if mid(SearchStringComp,x,1)=\" \" Then
        ncompare2 = \",\"+ncompare+\",\"
        if instr(noise,ncompare2) = 0 then
            NewCompare=NewCompare+\" \"+ncompare
        End If
        ncompare=\"\"
    else
        ncompare=ncompare+mid(SearchString,x,1)
    end if
    next       
    x = len(NewCompare)
    if left(NewCompare,1) = \" \" Then
      NewCompare = right(NewCompare,(x-1))
    end if
    SearchString=NewCompare

    \'Strip punctuation from search term
    SearchStringErr = \"\"
    for x = 1 to len(SearchString)
      testpunc= mid(SearchString,x,1)
      if instr(punc2,testpunc) then
        SearchStringErr= SearchStringErr
      else
        SearchStringErr = SearchStringErr + testpunc
      end if
    next
    SearchString = SearchStringErr
    CompSearch=SearchString

if SearchString = \"\" or instr(SearchString,\"*\") or instr(CompSearch,\")\") or instr(CompSearch,\"(\") or right(CompSearch,3)=\"OR \" or right(CompSearch,4)=\"AND \" then%>
<b>Din forespørgsel kunne ikke udføres!.<p></b><br>

<%end if
end if
end if %>

    </td>
    </tr>
    </table>
    </td>
  </tr>
  <tr>
    <td width=\"1\" height=\"15\"></td>
    <td width=\"179\" valign=\"top\" bgcolor=\"#999999\" height=\"15\">&nbsp;</td>
    <td width=\"590\" valign=\"top\" height=\"15\"></td>
  </tr>
</table>
</body>
</html>
-----------------------------------
Avatar billede seider Nybegynder
12. februar 2001 - 20:36 #1
undskyld men jeg kan ikke lige se hvad du vil lave her ?

else
  NextRecordNumber = NextRecordNumber-1
end if
          RS.MoveNext
          NextRecordNumber = NextRecordNumber+1
      Loop
%>
</table>
<P><BR>
<%
  else  \' NOT RS.EOF
      if NextRecordNumber <> 1 then
          Response.Write \"No more documents in the query.<P>\"
      end if

men du kan jo prøve at encapsulate dine response.write i ()

Response.Write (\"No more documents in the query.<P>\")

hvis det ikke hjælper skal du måske se lidt på strukturen i din kode
Avatar billede tdaugaard Nybegynder
12. februar 2001 - 23:54 #2
xion:> *suk*

1. Du har haft oprettet dette spm. før
2. Hvad fanden skal vi med hele din kode når nu jeg har svaret på dit spm. i det andet spm. ?

seider:> Response.Write \"whatever\" og Response.Write(\"whatever\") giver det samme resultat. Ligesom Response.Redirect \"noget.asp\" og Response.Redirect(\"noget.asp\")
Avatar billede xion Nybegynder
13. februar 2001 - 09:44 #3
Jeg ved jeg har samme spm. åbent, men det så ikke umiddelbart ud til at det kunne blive løst, og da det var et par dage gammelt, oprettede jeg et nyt med flere point for derved måske at kunne få en evt. løsning. sorry.
Avatar billede eagleeye Praktikant
16. februar 2001 - 16:52 #4
Prøv at kikke her. Jeg kan ikke ikke lige se hvad der er galt..
http://www.nerosoft.com/IndexServer.asp
Avatar billede eagleeye Praktikant
16. februar 2001 - 22:43 #5
Avatar billede xion Nybegynder
25. april 2001 - 17:15 #6
kunne ikke finde løsning, opgradere snart server til Windows 2000 og her skulle det virke.
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
Kurser inden for grundlæggende programmering

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