Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Antes que um aplicativo possa executar uma instrução, ele deve alocar um identificador de instrução. Ele faz isso chamando SQLAllocHandle com o parâmetro HandleType definido como SQL_HANDLE_STMT e InputHandle apontando para um identificador de conexão.
Atributos de instrução são características do identificador de instrução. Atributos de instrução de exemplo podem incluir o uso de indicadores e o tipo de cursor a ser usado com o conjunto de resultados da instrução. Os atributos de instrução são definidos com SQLSetStmtAttr e suas configurações atuais são recuperadas usando SQLGetStmtAttr. Não há nenhum requisito de que um aplicativo defina atributos de instrução; todos os atributos de instrução têm padrões e alguns são específicos do driver.
Tenha cuidado com o uso de várias opções de conexão e instrução ODBC. Chamar SQLSetConnectAttr com fOption definido como SQL_ATTR_LOGIN_TIMEOUT controla o tempo em que um aplicativo aguarda uma tentativa de conexão de tempo limite enquanto aguarda para estabelecer uma conexão (0 especifica uma espera infinita). Sites que têm tempos de resposta lentos podem definir esse valor alto para garantir que as conexões tenham tempo suficiente para serem concluídas. No entanto, o intervalo sempre deve ser baixo o suficiente para dar ao usuário uma resposta em um tempo razoável se o driver não puder se conectar.
Chamar SQLSetStmtAttr com fOption definido como SQL_ATTR_QUERY_TIMEOUT define um intervalo de tempo limite de consulta para ajudar a proteger o servidor e o usuário de consultas de longa execução.
Chamar SQLSetStmtAttr com fOption definido como SQL_ATTR_MAX_LENGTH limita a quantidade de dados de texto e imagem que uma instrução individual pode recuperar. Chamar SQLSetStmtAttr com fOption definido como SQL_ATTR_MAX_ROWS também limitará um conjunto de linhas às primeiras n linhas se esse for todo o aplicativo necessário. Observe que a configuração SQL_ATTR_MAX_ROWS faz com que o driver emita uma instrução SET ROWCOUNT para o servidor. Isso afeta todas as instruções do Microsoft SQL Server, incluindo gatilhos e atualizações.
Tenha cuidado ao definir essas opções. É melhor se todos os identificadores de instrução em um identificador de conexão tiverem as mesmas configurações para SQL_ATTR_MAX_LENGTH e SQL_ATTR_MAX_ROWS. Se o driver alternar de um identificador de instrução para outro com valores diferentes para essas opções, o driver deverá gerar as instruções SET TEXTSIZE e SET ROWCOUNT apropriadas para alterar as configurações. O driver não pode colocar essas instruções no mesmo lote que a instrução SQL do usuário porque a instrução SQL do usuário pode conter uma instrução que deve ser a primeira instrução em um lote. O driver deve enviar as instruções SET TEXTSIZE e SET ROWCOUNT em um lote separado, que gera automaticamente uma viagem de ida e volta adicional para o servidor.