Tamaño de columna, dígitos decimales, longitud de octeto de transferencia y tamaño de presentación: ODBC
Los tipos de datos se caracterizan por su tamaño de columna (o parámetro), dígitos decimales, longitud y tamaño de presentación. Las siguientes funciones ODBC devuelven estos atributos para un parámetro en una instrucción SQL o para un tipo de datos SQL en un origen de datos. Cada función ODBC devuelve un conjunto diferente de estos atributos, como se indica a continuación:
SQLDescribeCol devuelve el tamaño de columna y los dígitos decimales de las columnas que describe.
SQLDescribeParam devuelve el tamaño del parámetro y los dígitos decimales de los parámetros que describe. SQLBindParameter establece el tamaño del parámetro y los dígitos decimales de un parámetro en una instrucción SQL.
Las funciones de catálogo SQLColumns, SQLProcedureColumns y SQLGetTypeInfo devuelven atributos para una columna de una tabla, un conjunto de resultados o un parámetro de procedimiento y los atributos de catálogo de los tipos de datos del origen de datos. SQLColumns devuelve el tamaño de columna, los dígitos decimales y la longitud de una columna en las tablas especificadas (como la tabla base, la vista o una tabla del sistema). SQLProcedureColumns devuelve el tamaño de columna, los dígitos decimales y la longitud de una columna en un procedimiento. SQLGetTypeInfo devuelve el tamaño máximo de columna y los dígitos decimales mínimos y máximos de un tipo de datos SQL en un origen de datos.
Los valores devueltos por estas funciones para el tamaño de columna o parámetro corresponden a "precisión" tal como se define en ODBC 2.x. Sin embargo, los valores no corresponden necesariamente a los valores devueltos en SQL_DESC_PRECISION ni a ningún otro campo descriptor. Lo mismo sucede con los dígitos decimales, que corresponden a la "escala" que se define en ODBC 2.x. No corresponde necesariamente a los valores devueltos en SQL_DESC_SCALE ni a ningún otro campo descriptor, pero procede de campos descriptores diferentes según el tipo de datos. Para obtener más información, consulte Tamaño de columna y Dígitos decimales.
Del mismo modo, los valores de longitud de octeto de transferencia no proceden de SQL_DESC_LENGTH. Proceden de la SQL_DESC_OCTET_LENGTH de un campo de un descriptor para todos los tipos de caracteres y binarios. No hay ningún campo descriptor que contenga esta información para otros tipos.
El valor de tamaño de presentación de todos los tipos de datos corresponde al valor de un solo campo descriptor, SQL_DESC_DISPLAY_SIZE.
Los campos descriptores describen las características de un conjunto de resultados. Los campos descriptores no contienen valores válidos sobre los datos antes de la ejecución de instrucciones. Los valores de tamaño de columna, dígitos decimales y tamaño de presentación devueltos por SQLColumns, SQLProcedureColumns y SQLGetTypeInfo, por otro lado, devuelven características de objetos de base de datos, como columnas de tabla y tipos de datos, que existen en el catálogo del origen de datos. Del mismo modo, en su conjunto de resultados, SQLColAttribute devuelve el tamaño de columna, los dígitos decimales y la longitud de octeto de transferencia de columnas en el origen de datos; estos valores no son necesariamente iguales que los valores de los campos de descriptores de SQL_DESC_PRECISION, SQL_DESC_SCALE y SQL_DESC_OCTET_LENGTH.
Para obtener más información sobre estos campos de descriptor, vea SQLSetDescField.
Temas relacionados::