Tipos de datos específicos del controlador, Descriptor tipos, tipos de información, tipos de diagnóstico y atributos
Los controladores pueden asignar valores específicos del controlador para lo siguiente:
Indicadores de tipos de datos SQL Se usan en ParameterType en SQLBindParameter y en DataType en SQLGetTypeInfo y los devuelven SQLColAttribute, SQLColumns, SQLDescribeCol, SQLGetTypeInfo, SQLDescribeParam, SQLProcedureColumns y SQLSpecialColumns.
Campos descriptores Se usan en FieldIdentifier en SQLColAttribute, SQLGetDescField y SQLSetDescField.
Campos de diagnóstico Se usan en DiagIdentifier en SQLGetDiagField y SQLGetDiagRec.
Tipos de información Se usan en InfoType en SQLGetInfo.
Atributos de conexión e instrucción Se usan en Attribute en SQLGetConnectAttr, SQLGetStmtAttr, SQLSetConnectAttr y SQLSetStmtAttr.
Para cada uno de estos elementos, hay dos conjuntos de valores: los valores reservados para su uso por ODBC y los valores reservados para su uso por parte de los controladores. Antes de implementar valores específicos del controlador, un escritor de controladores debe solicitar un valor para cada tipo, campo o atributo específico del controlador de grupo abierto. Para el desarrollo de nuevos controladores, use el intervalo descrito en la tabla siguiente. El Administrador de controladores ODBC 3.8 no generará un error si se usa un valor desconocido que no está en el intervalo descrito a continuación. Sin embargo, las versiones posteriores del Administrador de controladores pueden generar un error si se reciben valores desconocidos que no están en el intervalo.
Cuando se pasa cualquiera de estos valores a una función ODBC, el controlador debe comprobar si el valor es válido. Los controladores devuelven SQLSTATE HYC00 (característica opcional no implementada) para los valores específicos del controlador que se aplican a otros controladores.
A partir de ODBC 3.8, los escritores de controladores pueden asignar atributos específicos del controlador dentro de un intervalo reservado.
Nota:
El Administrador de controladores ODBC 3.8 no valida ni aplica estos intervalos para la compatibilidad con versiones anteriores. Sin embargo, una versión futura del Administrador de controladores podría aplicarlos.
Tipo de atributo | Tipo de datos de ODBC | Base de intervalo específico del controlador | Límite de intervalo específico del controlador | Constante ODBC para la base del intervalo de valores específico del controlador |
---|---|---|---|---|
Indicadores de tipo de datos SQL | SQLSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_SQL_TYPE_BASE |
Campos de descriptor | SQLSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_DESCRIPTOR_BASE |
Campos de diagnóstico | SQLSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_DIAGNOSTIC_BASE |
Tipos de información | SQLUSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_INFO_TYPE_BASE |
Atributos de conexión | SQLINTEGER | 0x00004000 | 0x00007FFF | SQL_DRIVER_CONNECT_ATTR_BASE |
Atributos de instrucción | SQLINTEGER | 0x00004000 | 0x00007FFF | SQL_DRIVER_STATEMENT_ATTR_BASE |
Nota:
Los tipos de datos específicos del controlador, los campos descriptores, los campos de diagnóstico, los tipos de información, los atributos de instrucción y los atributos de conexión deben describirse en la documentación del controlador. Cuando se pasa cualquiera de estos valores a una función ODBC, el controlador debe comprobar si el valor es válido. Los controladores devuelven SQLSTATE HYC00 (característica opcional no implementada) para los valores específicos del controlador que se aplican a otros controladores.
Los valores base se definen para facilitar el desarrollo de controladores. Por ejemplo, los atributos de diagnóstico específicos del controlador se pueden definir en el formato siguiente:
SQL_DRIVER_DIAGNOSTIC_BASE+0, SQL_DRIVER_DIAGNOSTIC_BASE +1
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente las Cuestiones de GitHub como mecanismo de retroalimentación para el contenido y lo sustituiremos por un nuevo sistema de retroalimentación. Para más información, consulta:Enviar y ver comentarios de