Creating Rowsets with ICommand::Execute in SQL Server Native Client
Applies to:
SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
For rowsets created by using the ICommand::Execute method, the properties that you want in the resulting rowset can constrain the text of the command. This is especially critical for consumers that support dynamic command text.
The SQL Server Native Client OLE DB provider cannot use Microsoft SQL Server cursors to support the multiple-rowset results generated by many commands. If a consumer requests a rowset requiring SQL Server cursor support, an error occurs if the command text generates more than a single rowset as its result. For more information, see Commands Generating Multiple-Rowset Results.
Scrollable SQL Server Native Client OLE DB provider rowsets are supported by SQL Server cursors. SQL Server imposes limitations on cursors that are sensitive to changes made by other users of the database. Specifically, the rows in some cursors cannot be ordered, and trying to create a rowset by using a command that contains a SQL ORDER BY clause can fail. For more information, see Rowsets and SQL Server Cursors.