Compartir a través de


SQLDescribeCol

Para 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 produce un ciclo de ida y vuelta del servidor. Como ocurre con SQLColAttributeySQLNumResultCols, al llamar a SQLDescribeCol en instrucciones preparadas pero no ejecutadas se genera un ciclo de ida y vuelta del servidor.

Cuando una instrucción o lote de instrucciones Transact-SQL devuelve varios conjuntos de filas de resultados, es posible que una columna, a la que se hace referencia mediante un ordinal, se cree en una tabla independiente o haga referencia a una columna completamente diferente del conjunto de resultados. Se debe llamar a SQLDescribeCol para cada conjunto. Cuando el conjunto de resultados cambie, la aplicación debe volver a enlazar los valores de datos antes de obtener los resultados de la fila. Para obtener más información sobre cómo administrar la devolución de varios conjuntos de resultados, vea SQLMoreResults.

El controlador ODBC de SQL Server Native Client utiliza la instrucción SET FMTONLY para reducir la sobrecarga del servidor cuando se llama a SQLDescribeCol para las instrucciones preparadas pero no ejecutadas. Los atributos de columna sólo se notifican para el primer conjunto de resultados cuando un lote preparado de instrucciones SQL genera varios conjuntos de resultados.

Para los tipos de datos de valores grandes, 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".

SQLDescribeCol admite las características mejoradas de fecha y hora

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

DataTypePtr

ColumnSizePtr

DecimalDigitsPtr

datetime

SQL_TYPE_TIMESTAMP

23

3

smalldatetime

SQL_TYPE_TIMESTAMP

16

0

date

SQL_TYPE_DATE

10

0

time

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 en los tipos de datos de fecha y hora (ODBC).

SQLDescribeCol admite tipos definidos por el usuario de CLR grandes

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