Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
O ODBC suporta as opções ISO para especificar o comportamento dos cursores, especificando a sua scrollabilidade e sensibilidade. Estes comportamentos são especificados definindo as opções de SQL_ATTR_CURSOR_SCROLLABLE e SQL_ATTR_CURSOR_SENSITIVITY numa chamada ao SQLSetStmtAttr. O driver ODBC do SQL Server Native Client implementa estas opções solicitando cursores de servidor com as seguintes características.
| Definições de comportamento do cursor | Características do cursor do servidor solicitadas |
|---|---|
| SQL_SCROLLABLE e SQL_SENSITIVE | Cursor orientado por conjuntos de teclas e concorrência otimista baseada em versões |
| SQL_SCROLLABLE e SQL_INSENSITIVE | Cursor estático e concorrência apenas de leitura |
| SQL_SCROLLABLE e SQL_UNSPECIFIED | Cursor estático e concorrência apenas de leitura |
| SQL_NONSCROLLABLE e SQL_SENSITIVE | Cursor apenas para avançar e concorrência otimista baseada em versões |
| SQL_NONSCROLLABLE e SQL_INSENSITIVE | Conjunto de resultados padrão (apenas para frente, só leitura) |
| SQL_NONSCROLLABLE e SQL_UNSPECIFIED | Conjunto de resultados padrão (apenas para frente, só leitura) |
A concorrência otimista baseada em versões requer uma coluna de carimbo temporal na tabela subjacente. Se for solicitado controlo de concorrência otimista baseado em versões numa tabela que não tenha uma coluna de carimbo temporal , o servidor utiliza concorrência otimista baseada em valores.
Scrollabilidade
Quando SQL_ATTR_CURSOR_SCROLLABLE está definido para SQL_SCROLLABLE, o cursor suporta todos os diferentes valores para o parâmetro FetchOrientation do SQLFetchScroll. Quando SQL_ATTR_CURSOR_SCROLLABLE está definido para SQL_NONSCROLLABLE, o cursor só suporta um valor FetchOrientation de SQL_FETCH_NEXT.
Sensitivity
Quando SQL_ATTR_CURSOR_SENSITIVITY está definido para SQL_SENSITIVE, o cursor reflete modificações de dados feitas pelo utilizador atual ou comprometidas por outros utilizadores. Quando SQL_ATTR_CURSOR_SENSITIVITY está definido para SQL_INSENSITIVE, o cursor não reflete as modificações dos dados.