Apêndice F: Biblioteca de cursores ODBC

Importante

Esse recurso será removido em uma versão futura do Windows. Evite usar esse recurso em um novo trabalho de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. A Microsoft recomenda usar a funcionalidade de cursor do driver.

A biblioteca de cursores ODBC (Odbccr32.dll) dá suporte a cursores roláveis de bloco para qualquer driver que esteja em conformidade com o nível de conformidade da API de Nível 1 e possa ser redistribuído por desenvolvedores com seus aplicativos ou drivers. A biblioteca de cursores também dá suporte a instruções de atualização e exclusão posicionadas para conjuntos de resultados gerados por instruções SELECT . Embora dê suporte apenas a cursores estáticos e somente de encaminhamento, a biblioteca de cursores atende às necessidades de muitos aplicativos. Além disso, ele pode fornecer um bom desempenho, especialmente para conjuntos de resultados de pequeno a médio porte e para aplicativos que não têm um bom suporte a cursores.

A biblioteca de cursores é uma DLL (biblioteca de vínculo dinâmico) que reside entre o Gerenciador de Driver e o driver. Quando um aplicativo chama uma função, o Gerenciador de Driver chama a função na biblioteca de cursores, que executa a função ou a chama no driver especificado. Para uma determinada conexão, um aplicativo especifica se a biblioteca de cursores é sempre usada, usada se o driver não dá suporte a cursores roláveis ou nunca é usado.

A biblioteca de cursores aparece como um driver para o Gerenciador de Driver. Se a biblioteca de cursores residir entre o Gerenciador de Driver e um driver ODBC 2.x , a biblioteca de cursores será exibida como um driver ODBC 2.x . Se a biblioteca de cursores residir entre o Gerenciador de Driver e um driver ODBC 3.x , a biblioteca de cursores será exibida como um driver ODBC 3.x . O comportamento exibido pela biblioteca de cursores depende da versão do driver com o qual ele está trabalhando, com exceção de deslocamentos de associação, com suporte para drivers ODBC 2.x e ODBC 3.x .

Para implementar cursores de bloco no SQLFetch e no SQLFetchScroll, a biblioteca de cursores chama o SQLFetch repetidamente no driver. Para implementar a rolagem, ele armazena em cache os dados recuperados na memória e nos arquivos de disco. Quando um aplicativo solicita um novo conjunto de linhas, a biblioteca de cursores a recupera conforme necessário do driver ou do cache.

Para implementar instruções de atualização e exclusão posicionadas, a biblioteca de cursores constrói uma instrução UPDATE ou DELETE com uma cláusula WHERE que especifica o valor armazenado em cache de cada coluna associada na linha. Quando executa uma instrução de atualização posicionada, a biblioteca de cursores atualiza seu cache dos valores nos buffers de conjunto de linhas.

Para obter mais informações sobre a biblioteca de cursores ODBC, consulte as seguintes seções deste apêndice: