PRB: "Errors Occurred" upon Accessing Index Server 2.0 via RDS
ID: Q216973
|
The information in this article applies to:
-
Microsoft Data Access Components versions 2.0, 2.1
-
Microsoft Windows NT 4.0
SYMPTOMS
Running a Visual Basic application using the Microsoft RDS Data Factory to access Index Server 2.0 can generate the following errors:
Run-time error '-2147217887 80040e21':
"Errors Occurred."
CAUSE
This happens when Running Index Server 2.0 on Windows NT 4.0 with service pack 3.0 (or an older service pack).
RESOLUTION
To resolve this run Index Server 2.0 with Windows NT 4.0 Service Pack 4 (or beyond).
MORE INFORMATION
Index Server 2.0 was shipped (with Windows NT Option Pack 4) before the MDAC 2.0 release. As a result, Index Server 2.0 was not tested with MDAC 2.0 components when it was released. The release of Service Pack 4 for Windows NT 4.0 included some modifications that corrected the way Index Server 2.0 works with RDS 2.0 components (or later versions).
Steps to Reproduce Behavior
- Start a new Microsoft Visual Basic project. Form1 is created by default.
- Reference the following libraries from the Project/Reference menu:
- "Microsoft ActiveX Data Objects 2.0 (or 2.1) library"
- "Microsoft Remote Data Services 2.0 (or 2.1) library"
- Insert a Command Button on the form. Command1 is created by default.
-
Insert the following code into the General Declaration section of Form1:
Option Explicit
Dim RS As ADODB.Recordset
Private Sub DoQuery(HTTPServer As String)
Dim Scope, QueryText, sSQL As String
Scope = "C:\" ' Set the scope of the query
QueryText = "Index" ' Set the criteria of the query
sSQL = "SELECT Filename, Path, Size, Write FROM Scope('" + Chr(34) + _
Scope + Chr(34) + "') WHERE CONTAINS('" + Chr(34) + QueryText + _
Chr(34) + "') > 0" ' ORDER BY Rank DESC"
' Create the recordset via the data-factory
Data_Factory HTTPServer, sSQL
' Print out column titles
Debug.Print "Filename", "Path", "Size", "Write"
Debug.Print "-------------", "------", "------", "----------"
' Print out data
Do Until RS.EOF
Debug.Print RS("Filename"), RS("Path"), RS("Size"), RS("Write")
RS.MoveNext
Loop
RS.Close
Set RS = Nothing
End Sub
Private Sub Command1_Click()
Dim HTTPServer As String
Dim WebServer As String
WebServer = InputBox("What is the name of your Web (IIS) Server?")
HTTPServer = WebServer
' Execute the query
DoQuery (HTTPServer)
End Sub
Public Sub Data_Factory(HTTPServer As String, sSQL As String)
Dim DS As New RDS.DataSpace
Dim DF As Object
Set DF = DS.CreateObject("RDSServer.DataFactory", "http://" & HTTPServer)
'next line produces error (not recognizing the provider) with NT4 SP3 or before
Set RS = DF.Query("Provider=msidxs", sSQL, adOpenDynamic)
End Sub
- Press F5 to run your project. Specify the name of your web server when prompted to do so.
REFERENCES© Microsoft Corporation 1999, All Rights Reserved. Contributions by Ammar Abuthuraya, Microsoft Corporation
Additional query words:
Keywords : kbDatabase kbIdxServ kbOLEDB kbVBp600 kbGrpVCDB kbGrpMDAC
Version : WINDOWS:2.0,2.1; winnt:4.0
Platform : WINDOWS winnt
Issue type : kbprb
|