Compartir a través de


Compatibilidad con tipos de parámetros con valores de tablas de OLE DB

En este tema se describe la compatibilidad de tipos OLE DB para parámetros con valores de tabla.

Objeto de conjunto de filas de parámetro con valores de tabla

Puede crear un objeto de conjunto de filas especializado para parámetros con valores de tabla. Para crear el objeto de conjunto de filas de parámetro con valores de tabla debe utilizar ITableDefinitionWithConstraints::CreateTableWithConstraints o IOpenRowset::OpenRowset. Para ello, establezca el miembro eKind del parámetro pTableID en DBKIND_GUID_NAME y suministre CLSID_ROWSET_INMEMORY como miembro guid. El nombre del tipo de servidor para el parámetro con valores de tabla debe especificarse en el miembro pwszName de pTableID al utilizar IOpenRowset::OpenRowset. El objeto de conjunto de filas de parámetro con valores de tabla se comporta como un objeto normal del proveedor OLE DB de SQL Server Native Client.

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 es un nuevo tipo que representa un tipo de tabla. Este tipo especifica los parámetros con valores de tabla de varias interfaces OLE DB donde se requiere un DBTYPE.

#define DBTYPE_TABLE (143)

DBTYPE_TABLE tiene el mismo formato que DBTYPE_IUNKNOWN. Es un puntero a un objeto del búfer de datos. Para una especificación completa en los enlaces, el consumidor rellena al búfer DBOBJECT, con iid establecido en una de las interfaces del objeto de conjunto de filas (IID_IRowset). Si no se especifica ningún DBOBJECT en los enlaces, se asume IID_IRowset.

No se admiten conversiones a DBTYPE_TABLE ni desde DBTYPE_TABLE para cualquier otro tipo. IConvertType::CanConvert devolverá S_FALSE si no se permite la conversión para cualquier solicitud de conversión que no sea de DBTYPE_TABLE a DBTYPE_TABLE. Para ello, se asume DBCONVERTFLAGS_PARAMETER en el objeto Command.

Métodos

Para obtener información sobre los métodos OLE DB que admiten parámetros con valores de tabla, vea Compatibilidad con tipos de parámetro con valores de tabla de OLE DB (métodos).

Propiedades

Para obtener información sobre las propiedades OLE DB que admiten parámetros con valores de tabla, vea Compatibilidad con tipos de parámetros con valores de tabla de OLE DB (propiedades).