Ensembles de lignes (fournisseur OLE DB Native Client)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Un ensemble de lignes est un jeu de lignes contenant des colonnes de données. Les ensembles de lignes sont des objets centraux qui permettent à tous les fournisseurs de données OLE DB d'exposer les données des jeux de résultats sous forme tabulaire.
Après avoir créé une session en utilisant la méthode IDBCreateSession::CreateSession, le consommateur peut utiliser l’interface IOpenRowset ou IDBCreateCommand dans la session pour créer un ensemble de lignes. Le fournisseur OLE DB SQL Server Native Client prend en charge ces deux interfaces. Ces deux méthodes sont décrites ici.
Créer un ensemble de lignes en appelant la méthode IOpenRowset::OpenRowset.
Cette solution est équivalente à la création d'un ensemble de lignes sur une même table. Cette méthode ouvre et retourne un ensemble de lignes qui inclut toutes les lignes d'une même table de base. L’un des arguments transmis à OpenRowset est un ID qui identifie la table à partir de laquelle créer l’ensemble de lignes.
Créer un objet de commande en appelant la méthode IDBCreateCommand::CreateCommand.
L'objet de commande exécute les commandes que le fournisseur prend en charge. Avec le fournisseur OLE DB SQL Server Native Client, le consommateur peut spécifier n’importe quelle instruction Transact-SQL, telle qu’une instruction SELECT ou un appel à une procédure stockée. Les étapes de la création d'un ensemble de lignes en utilisant un objet de commande sont les suivantes :
Le consommateur appelle la méthode IDBCreateCommand::CreateCommand dans la session pour obtenir un objet de commande qui demande l’interface ICommandText dans l’objet de commande. Cette interface ICommandText définit et récupère le texte de la commande. Le consommateur remplit la commande de texte en appelant la méthode ICommandText::SetCommandText.
L’utilisateur appelle la méthode ICommand::Execute dans la commande. L'objet de l'ensemble de lignes créé lors de l'exécution de la commande contient le jeu de résultats de la commande.
Le consommateur peut utiliser l’interface ICommandProperties pour obtenir ou définir les propriétés de l’ensemble de lignes retourné par la commande exécutée par les interfaces ICommand::Execute. Les propriétés les plus communément demandées sont les interfaces que l'ensemble de lignes doit prendre en charge. En plus des interfaces, le consommateur peut demander les propriétés qui modifient le comportement de l'ensemble de lignes ou de l'interface.
Les consommateurs libèrent les ensembles de lignes avec la méthode IRowset::Release. La libération d'un ensemble de lignes entraîne celle des handles de ligne détenus par le consommateur sur cet ensemble de lignes. La libération d'un ensemble de lignes ne libère pas les accesseurs. Si vous avez une interface IAccessor, il lui reste à être libérée.