Como os cursores são implementados
Os aplicativos ODBC controlam o comportamento de um cursor definindo um ou mais atributos de instrução antes de executar uma instrução SQL. ODBC tem dois modos diferentes de especificar as características de um cursor:
Tipo do cursor
Os tipos de cursor são definidos com o atributo SQL_ATTR_CURSOR_TYPE de SQLSetStmtAttr. Os tipos de cursor ODBC são de somente avanço, estático, controlado por conjunto de chaves, misto e dinâmico. Definir o tipo do cursor era o método original de especificação de cursores no ODBC.
Comportamento do cursor
O comportamento do cursor é definido com os atributos SQL_ATTR_CURSOR_SCROLLABLE e SQL_ATTR_CURSOR_SENSITIVITY de SQLSetStmtAttr. Esses atributos são modelados nas palavras-chave SCROLL e SENSITIVE definidas para a instrução DECLARE CURSOR com base nos padrões ISO. Essas duas opções ISO foram introduzidas no ODBC versão 3.0.
As características de um cursor ODBC devem ser especificadas com um desses dois métodos, sendo preferível usar o primeiro, ou seja, tipo do cursor ODBC.
Além de definir o tipo de um cursor, os aplicativos ODBC também definem outras opções, tais como o número de linhas retornadas em cada extração, opções de simultaneidade e níveis de isolamento da transação. Essas opções podem ser definidas para cursores do tipo ODBC (de somente avanço, estático, controlado por conjunto de chaves, misto e dinâmico) ou cursores ISO (rolagem e sensibilidade).
O driver ODBC do SQL Server Native Client dá suporte a vários modos de implementação física dos diferentes tipos de cursor. O driver implementa alguns tipos de cursor usando um conjunto de resultados padrão do SQL Server; ele implementa outros como cursores de servidor ou usando a biblioteca de cursores ODBC.
Nesta seção