PRB: "Errors Occurred" upon Accessing Index Server 2.0 via RDS

ID: Q216973


The information in this article applies to:


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

  1. Start a new Microsoft Visual Basic project. Form1 is created by default.


  2. Reference the following libraries from the Project/Reference menu:


  3. Insert a Command Button on the form. Command1 is created by default.


  4. 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
        
     


  5. 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 

Last Reviewed: July 14, 1999