Rol del controlador
El controlador comprueba todos los errores y advertencias no comprobados por el Administrador de controladores y ordena los registros de estado que genera. (Un controlador ODBC 2.x no solicita registros de estado.) Esto incluye errores y advertencias en el truncamiento de datos, la conversión de datos, la sintaxis y algunas transiciones de estado. El controlador también puede comprobar errores y advertencias parcialmente comprobados por el Administrador de controladores. Por ejemplo, aunque el Administrador de controladores comprueba si el valor de Operation en SQLSetPos es legal, el controlador debe comprobar si se admite.
El controlador también asigna errores nativos - es decir, errores devueltos por el origen de datos - a SQLSTATEs. Por ejemplo, el controlador podría asignar varios errores nativos diferentes para la sintaxis SQL no válida a SQLSTATE 42000 (error de sintaxis o infracción de acceso). El controlador devuelve el número de error nativo en el campo SQL_DIAG_NATIVE del registro de estado. La documentación del controlador debe mostrar cómo se asignan los errores y advertencias del origen de datos a los argumentos de SQLGetDiagRec y SQLGetDiagField.