Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los cambios de comportamiento son los cambios para los que la sintaxis de la interfaz sigue siendo la misma, pero la semántica ha cambiado. Para estos cambios, la funcionalidad usada en ODBC 2. x se comporta de forma diferente a la misma funcionalidad en ODBC 3. x.
Si una aplicación muestra ODBC 2. Comportamiento x o ODBC 3. El comportamiento x viene determinado por el atributo de entorno SQL_ATTR_ODBC_VERSION. Este valor de 32 bits se establece en SQL_OV_ODBC2 para mostrar el comportamiento de ODBC 2.x, y en SQL_OV_ODBC3 para mostrar el comportamiento de ODBC 3.x.
El atributo de entorno SQL_ATTR_ODBC_VERSION se establece mediante una llamada a SQLSetEnvAttr. Una vez que una aplicación llama a SQLAllocHandle para asignar un identificador de entorno, debe llamar a SQLSetEnvAttr inmediatamente para establecer el comportamiento que muestra. (Como resultado, hay un nuevo estado de entorno para describir el control de entorno en un estado asignado, pero sin versión). Para obtener más información, vea Apéndice B: Tablas de transición de estado ODBC.
Una aplicación indica qué comportamiento muestra con el atributo de entorno SQL_ATTR_ODBC_VERSION, pero el atributo no tiene ningún efecto en la conexión de la aplicación con ODBC 2. x o ODBC 3. x driver. Una aplicación ODBC 3.x puede conectarse a un controlador ODBC 2.x o 3.x, independientemente del valor del atributo de entorno.
ODBC 3. Las aplicaciones x nunca deben llamar a SQLAllocEnv. Como resultado, si el Administrador de controladores recibe una llamada a SQLAllocEnv, reconoce la aplicación como ODBC 2. x aplicación.
El atributo SQL_ATTR_ODBC_VERSION afecta a tres aspectos diferentes de un ODBC 3. Comportamiento del controlador x:
SQLSTATEs
Tipos de datos para fecha, hora y marca de tiempo
El argumento CatalogName de SQLTables acepta patrones de búsqueda en ODBC 3. x, pero no en ODBC 2. x
El valor del atributo de entorno SQL_ATTR_ODBC_VERSION no afecta a SQLSetParam ni SQLBindParam. SQLColAttribute tampoco se ve afectado por este bit. Aunque SQLColAttribute devuelve atributos afectados por la versión de ODBC (tipo de fecha, precisión, escala y longitud), el comportamiento previsto viene determinado por el valor del argumento FieldIdentifier . Cuando FieldIdentifier es igual a SQL_DESC_TYPE, SQLColAttribute devuelve ODBC 3. x códigos para fecha, hora y marca de tiempo; cuando FieldIdentifier es igual a SQL_COLUMN_TYPE, SQLColAttribute devuelve ODBC 2. x códigos para fecha, hora y marca de tiempo.
Esta sección contiene los temas siguientes.