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.
Os atributos de cursor ODBC padrão são:
SQLSetStmtAttr(hstmt, SQL_ATTR_CURSOR_TYPE, SQL_CURSOR_FORWARD_ONLY, SQL_IS_INTEGER);
SQLSetStmtAttr(hstmt, SQL_ATTR_CONCURRENCY, SQL_CONCUR_READ_ONLY, SQL_IS_INTEGER);
SQLSetStmtAttr(hstmt, SQL_ATTR_ROW_ARRAY_SIZE, 1, SQL_IS_INTEGER);
Sempre que esses atributos são definidos como padrões, o driver ODBC do SQL Server Native Client usa um conjunto de resultados padrão do SQL Server. Os conjuntos de resultados padrão podem ser usados para qualquer instrução SQL com suporte do SQL Server e são o método mais eficiente de transferir um conjunto de resultados inteiro para o cliente.
O SQL Server 2005 introduziu suporte para vários conjuntos de resultados ativos (MARS); os aplicativos agora podem ter mais de um conjunto de resultados padrão ativo por conexão. O MARS não está habilitado por padrão.
Antes do SQL Server 2005, os conjuntos de resultados padrão não suportavam várias instruções ativas na mesma conexão. Depois que uma instrução SQL é executada em uma conexão, o servidor não aceita comandos (exceto uma solicitação para cancelar o restante do conjunto de resultados) do cliente nessa conexão até que todas as linhas no conjunto de resultados sejam processadas. Para cancelar o restante de um conjunto de resultados parcialmente processado, chame SQLCloseCursor ou SQLFreeStmt com o parâmetro fOption definido como SQL_CLOSE. Para concluir um conjunto de resultados parcialmente processado e testar a presença de outro conjunto de resultados, chame SQLMoreResults. Se um aplicativo ODBC tentar um comando em um identificador de conexão antes que um conjunto de resultados padrão tenha sido completamente processado, a chamada gerará SQL_ERROR e uma chamada para SQLGetDiagRec retornará:
szSqlState: "HY000", pfNativeError: 0
szErrorMsg: "[Microsoft][SQL Server Native Client]
Connection is busy with results for another hstmt."