Função SQLDisconnect
de conformidade
Versão introduzida: Conformidade de padrões do ODBC 1.0: ISO 92
de Resumo do
SQLDisconnect fecha a conexão associada a um identificador de conexão específico.
Sintaxe
SQLRETURN SQLDisconnect(
SQLHDBC ConnectionHandle);
Argumentos
ConnectionHandle
[Entrada] Identificador de conexão.
Retorna
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR, SQL_INVALID_HANDLE ou SQL_STILL_EXECUTING.
Diagnostics
Quando SQLDisconnect retorna SQL_ERROR ou SQL_SUCCESS_WITH_INFO, um valor SQLSTATE associado pode ser obtido chamando SQLGetDiagRec com um HandleType de SQL_HANDLE_DBC e um identificador de ConnectionHandle. A tabela a seguir lista os valores SQLSTATE normalmente retornados por SQLDisconnect e explica cada um deles no contexto dessa função; a notação "(DM)" precede as descrições de SQLSTATEs retornadas pelo Gerenciador de Driver. O código de retorno associado a cada valor SQLSTATE é SQL_ERROR, a menos que observado o contrário.
Comentários
Se um aplicativo chamar SQLDisconnect após SQLBrowseConnect retornará SQL_NEED_DATA e antes de retornar um código de retorno diferente, o driver cancelará o processo de navegação de conexão e retornará a conexão a um estado não conectado.
Se um aplicativo chamar SQLDisconnect enquanto houver uma transação incompleta associada ao identificador de conexão, o driver retornará SQLSTATE 25000 (estado de transação inválido), indicando que a transação está inalterada e a conexão está aberta. Uma transação incompleta é aquela que não foi confirmada ou revertida com SQLEndTran.
Se um aplicativo chamar SQLDisconnect antes de liberar todas as instruções associadas à conexão, o driver, depois de se desconectar com êxito da fonte de dados, liberará essas instruções e todos os descritores que foram explicitamente alocados na conexão. No entanto, se uma ou mais das instruções associadas à conexão ainda estiverem sendo executadas de forma assíncrona, SQLDisconnect retornará SQL_ERROR com um valor SQLSTATE de HY010 (erro de sequência de funções). Além disso, sqldisconnect liberará todas as instruções associadas e todos os descritores que foram explicitamente alocados na conexão, se a conexão estiver em um estado suspenso ou se sqlDisconnect tiver sido cancelada com êxito pelo SQLCancelHandle.
Para obter informações sobre como um aplicativo usa SQLDisconnect, consulte Desconectando de uma fonte de dados oude driver.
Desconectando de uma conexão em pool
Se o pool de conexões estiver habilitado para um ambiente compartilhado e um aplicativo chamar SQLDisconnect em uma conexão nesse ambiente, a conexão será retornada para o pool de conexões e ainda estará disponível para outros componentes usando o mesmo ambiente compartilhado.
Exemplo de código
Consulte de programa ODBC de exemplo, de função SQLBrowseConnect e de função SQLConnect.
Funções relacionadas
Para obter informações sobre | Ver |
---|---|
Alocando um identificador | de função SQLAllocHandle |
Conectando-se a uma fonte de dados | de função SQLConnect |
Conectando-se a uma fonte de dados usando uma cadeia de conexão ou caixa de diálogo | função SQLDriverConnect |
Executando uma operação de confirmação ou reversão | de função SQLEndTran |
Liberando um identificador de conexão | de função SQLFreeConnect |