Compartir a través de


Ejemplo de diagnóstico de controlador basados en archivos

Un controlador basado en archivos actúa como controlador ODBC y como origen de datos. Por lo tanto, puede generar errores y advertencias como componente en una conexión ODBC y como origen de datos. Dado que también es el componente que interactúa con el Administrador de controladores, da formato y devuelve argumentos para SQLGetDiagRec.

Por ejemplo, si un controlador de Microsoft para dBASE no pudo asignar memoria suficiente, podría devolver los siguientes valores de SQLGetDiagRec:

SQLSTATE:         "HY001"  
Native Error:      42052  
Diagnostic Msg:   "[Microsoft][ODBC dBASE Driver]Unable to allocate sufficient memory."  

Dado que este error no estaba relacionado con el origen de datos, el controlador solo agregó prefijos al mensaje de diagnóstico del proveedor ([Microsoft]) y al controlador ([ODBC dBASE Driver]).

Si el controlador no pudo encontrar el archivo Employee.dbf, podría devolver los siguientes valores de SQLGetDiagRec:

SQLSTATE:         "42S02"  
Native Error:      -1305  
Diagnostic Msg:   "[Microsoft][ODBC dBASE Driver][dBASE]No such table or object"  

Dado que este error estaba relacionado con el origen de datos, el controlador agregó el formato de archivo del origen de datos ([dBASE]) como prefijo al mensaje de diagnóstico. Dado que el controlador también era el componente que accedía a la interfaz con el origen de datos, agregó prefijos para el proveedor ([Microsoft]) y el controlador ([ODBC dBASE Driver]).