Partager via


Prise en charge des types de paramètre table OLE DB (méthodes)

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

Les méthodes OLE DB standard suivantes prennent en charge les paramètres table :

Méthode Prise en charge des paramètres table
ITableDefinitionWithConstraints::CreateTableWithConstraints Utilisée lorsque vous connaissez les informations de type du paramètre table, et que vous souhaitez instancier un objet d'ensemble de lignes de paramètre table en fonction des informations de type.

Pour plus d’informations, consultez « Scénario statique » dans Création d’un ensemble de lignes de paramètres table.
IOpenRowset::OpenRowset Utilisée lorsque vous ne connaissez pas les informations de type d'un paramètre table, et que vous souhaitez instancier un objet d'ensemble de lignes de paramètre table en fonction des informations de métadonnées extraites du serveur.

Pour plus d’informations, consultez « Scénario dynamique » dans Création d’un ensemble de lignes de paramètres table.
ISSCommandWithParameters::SetParameterInfo Pour spécifier un paramètre de commande de paramètre table, le consommateur spécifie le type de paramètre « table » ou « DBTYPE_TABLE » dans le membre pwszName de la structure DBPARAMBINDINFO. ulParamSize est défini sur ~0. Pour plus d’informations, consultez « Spécification des paramètres table » dans Exécution de commandes contenant des paramètres table.
ISSCommandWithParameters::SetParameterProperties Définit les propriétés spécifiques aux paramètres table, telles que le nom de schéma, le nom de type, l'ordre des colonnes et les colonnes par défaut.

Le consommateur spécifie l’ordinal du paramètre dans le membre iOrdinal de la structure SSPARAMPROPS. Le jeu de propriétés demandé est DBPROPSET_SQLSERVERPARAMETER.
ISSCommandWithParameters::GetParameterInfo Obtient les types de tous les paramètres d'une commande spécifiée.

Pour les paramètres table, le champ wType de la structure DBPARAMINFO a la valeur DBTYPE_TABLE. Le champ ulParamSize est défini sur ~0 pour indiquer une longueur inconnue.
ISSCommandWithParameters::GetParameterProperties Obtient des informations de type supplémentaires pour les paramètres du type DBTYPE_TABLE.

Le consommateur spécifie l’ordinal du paramètre dans le membre iOrdinal de la structure SSPARAMPROPS. Le consommateur peut demander chacune des propriétés du jeu de propriétés DBPROPSET_SQLSERVERPARAMETER répertoriées sous ISSCommandWithParameters::SetParameterProperties.

Dans la mesure où le consommateur ne connaît pas le type de paramètre table, le fournisseur doit définir SSPROP_PARAM_TYPE_TYPENAME, SSPROP_PARAM_TYPE_SCHEMANAME et SSPROP_PARAM_TYPE_CATALOGNAME sur leurs valeurs correctes. Les propriétés restantes, SSPROP_PARAM_TABLE_DEFAULT_COLUMNS et SSPROP_PARAM_TABLE_COLUMN_SORT_ORDER, utilisent leurs valeurs par défaut. Une fois que le consommateur a découvert le nom du type de paramètre table, il utilise IOpenRowset::OpenRowset pour créer une instance de ce paramètre table, en spécifiant le nom du type de paramètre table. Pour plus d'informations, consultez Découverte du type de paramètre table.
IRowsetInfo::GetProperties Obtient les propriétés de l'ensemble de lignes de paramètre table. Le consommateur peut utiliser ces propriétés pour optimiser la configuration des liaisons.
IColumnsRowset::GetColumnsRowset Récupère les informations de métadonnées relatives une table SQL Server. Pour les paramètres table, cette même interface fournit des informations de métadonnées détaillées à propos de chaque colonne, notamment les suivantes :

DBCOLUMN_FLAGS indique la possibilité de valeur NULL via le bit DBCOLUMNFLAGS_ISNULLABLE.

DBCOLUMN_ISUNIQUE indique si la colonne est une colonne d'identité.

DBCOLUMN_COMPUTEMODE indique si la colonne est calculée.
IAccessor::CreateAccessor Pour lier un objet d’ensemble de lignes de paramètre table à un paramètre de commande, créez un accesseur dont le membre wType a la valeur DBTYPE_TABLE. La structure DBOBJECT contiendra IID_IRowset ou toute autre interface d’objet d’ensemble de lignes valide dans le membre iid. Les autres champs sont traités de la même façon que DBTYPE_IUNKNOWN.

Voir aussi

Prise en charge des types de paramètre table OLE DB
Création d’un ensemble de lignes de paramètres table
Utiliser des paramètres table (OLE DB)