Compartir a través de


Detección de tipos de parámetros con valores de tabla

El consumidor, es decir, la aplicación cliente que utiliza el proveedor OLE DB de SQL Server Native Client, puede detectar el tipo de parámetro de cada comando si el texto del comando se ha proporcionado al proveedor OLE DB. Cuando se conoce el tipo de un parámetro con valores de tabla, el consumidor puede detectar la información de metadatos de cada columna individual del parámetro con valores de tabla.

ICommandWithParameters::GetParameterInfo admite la información de tipo de los parámetros de procedimiento de la mayoría de los tipos de parámetro. A partir de SQL Server 2005, con la introducción de tipos definidos por el usuario y el tipo de datos xml, no bastaba con utilizar el método GetParameterInfo para este propósito porque no era posible proporcionar información de tipos definidos por el usuario (nombre, esquema y catálogo) mediante ICommandWithParameters. Se definió una nueva interfaz, ISSCommandWithParameters, para proporcionar información de tipo extendida.

Para los parámetros con valores de tabla, se utiliza también la interfaz ISSCommandWithParameters para detectar información detallada. El cliente llama a ISSCommandWithParameters::GetParameterInfo después de preparar el objeto de comando. Para los parámetros con valores de tabla, el proveedor establece el miembro wType de la estructura DBPARAMINFO en DBTYPE_TABLE. El campo ulParamSize de la estructura de DBPARAMINFO tiene un valor de ~ 0.

El consumidor solicitará a continuación propiedades adicionales (el nombre de catálogo del tipo de parámetro con valores de tabla, el nombre de esquema del tipo de parámetro con valores de tabla, el nombre del tipo de parámetro con valores de tabla, el orden de las columnas y las columnas predeterminadas) utilizando ISSCommandWithParamters::GetParameterProperties.

Una vez conocido el nombre de tipo, para recuperar la información de cada columna individual, el consumidor debe llamar a IOpenRowset::OpenRowset u obtener el conjunto de filas DBSCHEMA_TABLE_TYPE_COLUMNS especificando el nombre del tipo de parámetro con valores de tabla como el nombre de tabla.

Vea también

Tasks

Usar parámetros con valores de tabla (OLE DB)

Conceptos

Parámetros con valores de tabla (OLE DB)