Partager via


Prise en charge du type de paramètre table OLE DB

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Télécharger le pilote OLE DB

Cet article décrit la prise en charge du type OLE DB pour les paramètres table.

Objet d'ensemble de lignes de paramètre table

Vous pouvez créer un objet d'ensemble de lignes spécialisé pour des paramètres table. Vous créez l’objet d’ensemble de lignes de paramètre table à l’aide de ITableDefinitionWithConstraints::CreateTableWithConstraints ou IOpenRowset::OpenRowset. Pour ce faire, définissez le membre eKind du paramètre pTableID sur DBKIND_GUID_NAME, et fournissez CLSID_ROWSET_INMEMORY comme membre guid. Le nom de type de serveur pour le paramètre table doit être spécifié dans le membre pwszName de pTableID lors de l’utilisation de IOpenRowset::OpenRowset. L'objet d'ensemble de lignes de paramètre table se comporte comme un objet OLE DB Driver pour SQL Server normal.

const GUID CLSID_ROWSET_TVP =   
{0xc7ef28d5, 0x7bee, 0x443f, {0x86, 0xda, 0xe3, 0x98, 0x4f, 0xcd, 0x4d, 0xf9}};  
  
CoType RowsetTVP  
{  
[mandatory] interface IAccessor;  
[mandatory] interface IColumnsInfo;  
[mandatory] interface IConvertType;  
[mandatory] interface IRowset;  
[mandatory] interface IRowsetInfo;  
[optional]  interface IColumnsRowset;  
[optional]  interface IRowsetChange;  
[optional]  interface ISupportErrorInfo;  
};  

DBTYPE_TABLE

DBTYPE_TABLE est un nouveau type qui représente un type de table. Ce type spécifie des paramètres table dans différentes interfaces OLE DB où un DBTYPE est requis.

#define DBTYPE_TABLE (143)  

DBTYPE_TABLE a le même format que DBTYPE_IUNKNOWN. Il s’agit d’un pointeur vers un objet du tampon de données. Pour une spécification complète dans les liaisons, le consommateur remplit la mémoire tampon DBOBJECT, avec iid défini sur l’une des interfaces d’objet d’ensemble de lignes (IID_IRowset). Si aucun DBOBJECT n’est spécifié dans les liaisons, IID_IRowset est supposé.

Les conversions vers et à partir de DBTYPE_TABLE pour tout autre type ne sont pas prises en charge. IConvertType::CanConvert retourne S_FALSE pour les conversions non prises en charge, pour toute demande autre qu’une conversion DBTYPE_TABLE en DBTYPE_TABLE. Cela suppose DBCONVERTFLAGS_PARAMETER sur l’objet Command.

Méthodes

Pour plus d’informations sur les méthodes de OLE DB qui prennent en charge les paramètres table, consultez Prise en charge des types de paramètre table OLE DB (Méthodes).

Propriétés

Pour plus d’informations sur les propriétés de OLE DB qui prennent en charge les paramètres table, consultez Prise en charge des types de paramètre table OLE DB (Propriétés).

Voir aussi

Paramètres table (OLE DB)
Utiliser des paramètres table (OLE DB)