Compartir a través de


SQLDescribeCol

En el caso de las instrucciones ejecutadas, el controlador ODBC de SQL Server Native Client no necesita consultar el servidor para describir las columnas de un conjunto de resultados. En este caso, SQLDescribeCol no causa un ida y vuelta de servidor. Al igual que SQLColAttribute, llamar a SQLDescribeCol instrucciones preparadas pero no ejecutadas genera un recorrido de ida y vuelta de servidor.

Cuando un lote de instrucción o instrucción Transact-SQL devuelve varios conjuntos de filas de resultados, es posible que una columna, a la que hace referencia ordinal, se origine en una tabla independiente o para hacer referencia a una columna completamente diferente en el conjunto de resultados. SQLDescribeCol se debe llamar a para cada conjunto. Cuando cambia el conjunto de resultados, la aplicación debe volver a enlazar los valores de datos antes de capturar los resultados de la fila. Para obtener más información sobre cómo controlar varias devoluciones de conjuntos de resultados, vea SQLMoreResults.

Los atributos de columna solo se notifican para el primer conjunto de resultados cuando se generan varios conjuntos de resultados mediante un lote preparado de instrucciones SQL.

Para los tipos de datos de gran valor, el valor devuelto en DataTypePtr es SQL_VARCHAR, SQL_VARBINARY o SQL_NVARCHAR. Un valor de SQL_SS_LENGTH_UNLIMITED en ColumnSizePtr indica que el tamaño es "ilimitado".

Las mejoras en el motor de base de datos a partir de SQL Server 2012 permiten a SQLDescribeCol obtener descripciones más precisas de los resultados esperados. Estos resultados más precisos pueden diferir de los valores devueltos por SQLDescribeCol en versiones anteriores de SQL Server. Para obtener más información, vea Detección de metadatos.

Compatibilidad con SQLDescribeCol para características mejoradas de fecha y hora

Los valores devueltos para los tipos de fecha y hora son los siguientes:

DataTypePtr ColumnSizePtr DecimalDigitsPtr
fecha y hora SQL_TYPE_TIMESTAMP 23 3
smalldatetime SQL_TYPE_TIMESTAMP 16 0
fecha SQL_TYPE_DATE 10 0
Tiempo SQL_SS_TIME2 8, 10..16 0..7
datetime2 SQL_TYPE_TIMESTAMP 19, 21..27 0..7
datetimeoffset SQL_SS_TIMESTAMPOFFSET 26, 28..34 0..7

Para obtener más información, vea Mejoras de fecha y hora (ODBC).

Compatibilidad con SQLDescribeCol para UDT clR grandes

SQLDescribeCol admite tipos definidos por el usuario (UDT) clR grandes. Para obtener más información, vea Tipos definidos por el usuario (ODBC) clR grandes.

Véase también

Función SQLDescribeCol
Detalles de implementación de la API de ODBC