Apéndice F: Biblioteca de cursores ODBC

Importante

Esta característica se quitará en una versión futura de Windows. Evite usar esta característica en el nuevo trabajo de desarrollo y planee modificar las aplicaciones que actualmente usan esta característica. Microsoft recomienda usar la funcionalidad del cursor del controlador.

La biblioteca de cursores ODBC (Odbccr32.dll) soporta cursores desplazables por bloque para cualquier controlador que cumpla con el nivel de conformidad de la API de Nivel 1 y que pueda ser redistribuido por los desarrolladores con sus aplicaciones o controladores. La biblioteca de cursores también soporta sentencias positioned update y delete para conjuntos de resultados generados por sentencias SELECT . Aunque solo soporta cursores estáticos y solo hacia adelante, la biblioteca de cursores satisface las necesidades de muchas aplicaciones. Además, puede ofrecer buen rendimiento, especialmente para conjuntos de resultados pequeños o medianos y para aplicaciones que no tienen buen soporte de cursor.

La biblioteca de cursores es una biblioteca de enlace dinámico (DLL) que se encuentra entre el Administrador de Controladores y el controlador. Cuando una aplicación llama a una función, el Administrador de Controladores llama a la función en la biblioteca de cursores, que o bien ejecuta la función o la llama en el controlador especificado. Para una conexión dada, una aplicación especifica si la biblioteca de cursores siempre se usa, si el controlador no soporta cursores desplazables, o si nunca se ha utilizado.

La biblioteca de cursores aparece como un controlador en el Gestor de Controladores. Si la biblioteca de cursores reside entre el Administrador de Controladores y un controlador ODBC 2.x , la biblioteca de cursores aparece como un controlador ODBC 2.x . Si la biblioteca de cursores reside entre el Administrador de Controladores y un controlador ODBC 3.x , la biblioteca de cursores aparece como un controlador ODBC 3.x . El comportamiento que exhibe la biblioteca de cursores depende de la versión del controlador con la que esté trabajando, con la excepción de los desplazamientos de enlace, que se soportan tanto para controladores ODBC 2.x como ODBC 3.x .

Para implementar los cursores de bloque en SQLFetch y SQLFetchScroll, la biblioteca de cursores llama repetidamente a SQLFetch en el controlador. Para implementar el desplazamiento, almacena en caché los datos que ha recuperado en memoria y en archivos de disco. Cuando una aplicación solicita un nuevo conjunto de filas, la biblioteca de cursores lo recupera según sea necesario del controlador o de la caché.

Para implementar sentencias de actualización y eliminación posicionadas, la biblioteca de cursores construye una UPDATE sentencia o DELETE con una cláusula WHERE que especifica el valor en caché de cada columna acotada en la fila. Cuando ejecuta una sentencia positioned update, la biblioteca de cursores actualiza su caché desde los valores en los búferes de filas.

Para más información sobre la biblioteca de cursores ODBC, consulte las siguientes secciones de este apéndice: