FIX: Data Mining Provider Stops Responding When Using Row Navigation through OLE DB API (296905)



The information in this article applies to:

  • Microsoft SQL Server 2000 Analysis Services

This article was previously published under Q296905
BUG #: 11327 (Plato7.x)

SYMPTOMS

When you issue a query by using the data mining provider, and an application or user navigates the recordset by using row navigation from the OLEDB API, the following OLEDB error message occurs:
-2147217916 (80040e4) Row handle is invalid

RESOLUTION

To resolve this problem, obtain the latest service pack for the Microsoft SQL Server 2000 (the Analysis Services Components - Sql2kasp1.exe). For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 INF: How to Obtain the Latest SQL Server 2000 Service Pack

STATUS

Microsoft has confirmed that this is a problem in SQL Server 2000 Analysis Services version 8.0. This problem was first corrected in the Analysis Services Components of Microsoft SQL Server 2000 Service Pack 1.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Create a new Visual Basic Standard EXE project.
  2. Add a reference to the Microsoft Active Data Objects Library.
  3. Add a Module to the project, and then add the following code:
    Public Sub Main()
      Dim cn As New ADODB.Connection
      Dim cmd As New ADODB.Command
      Dim rs As New ADODB.Recordset
       
      On Error GoTo ErrH
      
      cn.Open "Provider=MSDMINE;Mining Location=C:\Program Files\" & _
        "Microsoft Analysis Services\Data\FoodMart 2000"
      rs.Open "SELECT t.num_children_at_home, t.marital_status," & _
         " t.yearly_income, [Member Card RDBMS].[Member Card] FROM" & _
         "[Member Card RDBMS] PREDICTION JOIN OPENROWSET('Microsoft.Jet.OLEDB.4.0'," & _
         "'data source=C:\Program Files\Microsoft Analysis Services\Samples\FoodMart 2000.mdb'," & _
         "'SELECT [Customer_ID], num_children_at_home, marital_status, yearly_income" & _
         " FROM Customer') AS t ON  [Member Card RDBMS].[Customer ID] = t.[Customer_ID]" & _
         " AND [Member Card RDBMS].[Num Children at home] = t.num_children_at_home" & _
         " AND [Member Card RDBMS].[marital status] = t.marital_status AND" & _
         " [Member Card RDBMS].[yearly income] = t.yearly_income", cn
      rs.Move 4
      Debug.Print rs.Fields(1).Value
      rs.Close
      cn.Close
      Exit Sub
      
    ErrH:
      MsgBox CStr(Err.Number) & vbCrLf & Err.Description, vbOKOnly + vbInformation, "Error"
      Err.Clear
      Resume Next
    End Sub
    					
  4. Execute the Visual Basic program.

Modification Type:MinorLast Reviewed:4/24/2003
Keywords:kbBug kbfix kbSQLServ2000sp1fix kbssas800sp1fix KB296905 kbAudDeveloper