经典asp中的索引服务“没有支持这样的接口”

时间:2012-12-17 07:02:29

标签: asp-classic indexing-service

我想使用Microsoft索引服务来搜索包含静态页面的文件夹,以下是源代码。

<html>
<%
' This section sets the various configuration variables

formscope="/"
pagesize = 5000
maxrecords=5000
searchstring=request.form("query")
catalogtosearch="cat"
searchrankorder="rank[d]"
origsearch=searchstring
%>

<%
'This section performs the query

dim q
dim util
set q=server.createobject("ixsso.query")
set util=server.createobject("ixsso.util")
q.query=searchstring
q.catalog=catalogtosearch
q.sortby=searchrankorder
q.columns="doctitle, filename, size, write, rank, directory, path"
q.maxrecords=maxrecords
%>

<%
'This section displays the results

set rs=q.createrecordset("nonsequential")
rs.pagesize=pagesize
response.write"<p>Your search for <b>" & origsearch & "</bproduced "

if rs.recordcount=0 then response.write "no results"
if rs.recordcount=1 then response.write "1 result: "
if rs.recordcount>1 then response.write(rs.recordcount) & " results: "

%>

<table border=1><tr><td><b>Title</b></td><td><b>Filename</b></td><td><b>Date / Time</b></td><td><b>Size</b></td><td><b>Relevance</b></td><td><b>Directory</b></td></tr>

<%
do while not rs.EOF

response.write "<tr><td>" & rs("doctitle") & "</td><td>" & "<a href=" & "'" & rs("path") & "'" & ">" & rs("filename") & "</a>" & "</td><td>" & rs("write") & "</td><td>" & rs("size") & "</td><td>" & rs("rank") & "</td><td>" & rs("directory") & "</td></tr>"

rs.movenext
loop

response.write "</table>"
set rs=nothing
set q=nothing
set util=nothing
%>

</body>
</html>

我在计算机中添加了目录 - &gt;管理 - &gt;索引服务,在cat目录下,我也添加了目录,但是当我运行上面的脚本时出现错误:

  

CreateRecordset错误'80004002'

     

不支持此类界面

     

/cat/SearchResults.asp,第31行

任何人都知道错误是什么?感谢。

1 个答案:

答案 0 :(得分:4)

由于我原来的anwser被删除了一些不明原因我试图再次回答你的问题。

正如您在此link中看到的那样“在Windows 7或Windows Server 2008 R2中安装修补程序2698365后,无法使用IXSSO查询索引服务器目录。”

我将链接页面中的文本复制到我的anwser,因为@Mario希望:

<强>症状: 在运行Windows 7或Windows Server 2008 R2的计算机上安装更新2698365后,无法使用IXSSO组件查询索引服务器目录。具体来说,当您尝试调用IXSSO.Query.CreateRecordset方法时,您会收到类似于以下内容的错误消息: 没有支持这样的接口-2147467262

<强>原因: “出现此问题的原因是在安装更新2698365后删除了旧的ActiveX Data Objects(ADO)安装。”

解决: 从链接的站点安装修补程序