FIX: When you use an ActiveX Data Objects Recordset object to access a database in SQL Server 2005, the Recordset object returns no records (914535)



The information in this article applies to:

  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Workgroup
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition

SYMPTOMS

Consider the following scenario:
  • You use a Microsoft ActiveX Data Objects (ADO) Recordset object to access a database in Microsoft SQL Server 2005.
  • The query of the Recordset object is connected to a pair of tables by using a left outer join.
  • You set the CursorType property for the Recordset object to adOpenKeyset.
In this scenario, the Recordset object returns no records.

Note This problem does not occur when you try to access a database in Microsoft SQL Server 2000.

RESOLUTION

Service pack information

To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2005. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

913089 How to obtain the latest service pack for SQL Server 2005

WORKAROUND

To work around this problem, use one of the following methods:
  • Change the CursorType property for the Recordset object to one of the following settings:
    • adOpenDynamic
    • adOpenForwardOnly
    • adOpenStatic
  • Change the CursorLocation property for the Recordset object to adUseClient.
  • When the query of the Recordset object is connected to a pair of tables by using a left outer join, add a primary key to each of these tables in SQL Server 2005.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section. This problem was first corrected in Microsoft SQL Server 2005 Service Pack 1.

REFERENCES

For more information about the ADO Recordset object, visit the following Microsoft Developer Network (MSDN) Web site: For more information about the type of cursor that is used in a Recordset object, visit the following MSDN Web site: For more information about the location of the cursor service, visit the following MSDN Web site:

Modification Type:MinorLast Reviewed:4/18/2006
Keywords:kbsql2005sp1fix kbQFE kbsql2005webdata kbBug kbsql2005presp1fix kbsql2005repl kbExpertiseAdvanced kbtshoot KB914535 kbAudDeveloper kbAudITPRO