Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.
Este tópico discute o uso das funções SQLSetDescField e SQLSetDescRec na biblioteca de cursores. Para obter informações gerais sobre essas funções, consulte Função SQLSetDescField e Função SQLSetDescRec.
A biblioteca de cursores executa SQLSetDescField quando é chamada para retornar o valor dos campos definidos para colunas de indicador:
SQL_DESC_DATA_PTR
SQL_DESC_INDICATOR_PTR
SQL_DESC_OCTET_LENGTH_PTR
SQL_DESC_LENGTH
SQL_DESC_OCTET_LENGTH
SQL_DESC_DATETIME_INTERVAL_CODE
SQL_DESC_SCALE
SQL_DESC_PRECISION
SQL_DESC_TYPE
SQL_DESC_NAME
SQL_DESC_UNNAMED
SQL_DESC_NULLABLE
A biblioteca de cursores executa chamadas para SQLSetDescRec para uma coluna de indicador.
Ao trabalhar com um driver ODBC 2.x , a biblioteca de cursores retorna SQLSTATE HY090 (comprimento de buffer ou cadeia de caracteres inválida) quando SQLSetDescField ou SQLSetDescRec é chamado para definir o campo SQL_DESC_OCTET_LENGTH para o registro de indicador de um ARD como um valor não igual a 4. Ao trabalhar com um driver ODBC 3.x , a biblioteca de cursores permite que o buffer seja de qualquer tamanho.
A biblioteca de cursores executa SQLSetDescField quando é chamada para retornar o valor do campo SQL_DESC_BIND_OFFSET_PTR, SQL_DESC_BIND_TYPE, SQL_DESC_ROW_ARRAY_SIZE ou SQL_DESC_ROW_STATUS_PTR. Esses campos podem ser retornados para qualquer linha, não apenas para a linha de indicador.
A biblioteca de cursores não executa SQLSetDescField para alterar nenhum campo de descritor diferente dos campos mencionados anteriormente. Se um aplicativo chamar SQLSetDescField para definir qualquer outro campo enquanto a biblioteca de cursores for carregada, a chamada será passada para o driver.
A biblioteca de cursores dá suporte à alteração dinâmica dos campos SQL_DESC_DATA_PTR, SQL_DESC_INDICATOR_PTR e SQL_DESC_OCTET_LENGTH_PTR de qualquer linha de um descritor de linha de aplicativo dinamicamente (após uma chamada para SQLExtendedFetch, SQLFetch ou SQLFetchScroll). O campo SQL_DESC_OCTET_LENGTH_PTR pode ser alterado para um ponteiro nulo apenas para desassociar o buffer de comprimento de uma coluna.
A biblioteca de cursores não dá suporte à alteração do campo SQL_DESC_BIND_TYPE em um APD ou ARD quando um cursor está aberto. O campo SQL_DESC_BIND_TYPE só pode ser alterado depois que o cursor é fechado e antes que um novo cursor seja aberto. Os únicos campos de descritor aos quais a biblioteca de cursores dá suporte à alteração quando um cursor está aberto são SQL_DESC_ARRAY_STATUS_PTR, SQL_DESC_BIND_OFFSET_PTR, SQL_DESC_DATA_PTR, SQL_DESC_INDICATOR_PTR, SQL_DESC_OCTET_LENGTH_PTR e SQL_DESC_ROWS_PROCESSED_PTR.
A biblioteca de cursores não dá suporte à modificação do campo SQL_DESC_COUNT do ARD depois que SQLExtendedFetch ou SQLFetchScroll tiver sido chamado e antes do cursor ser fechado.