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 de a aplicação poder ligar-se a uma fonte de dados ou driver, deve alocar uma alavanca de ligação, da seguinte forma:
A aplicação declara uma variável do tipo SQLHDBC. Depois chama SQLAllocHandle e passa o endereço desta variável, o handle do ambiente onde deve alocar a ligação e a opção SQL_HANDLE_DBC. Por exemplo:
SQLHDBC hdbc1; SQLAllocHandle(SQL_HANDLE_DBC, henv1, &hdbc1);O Driver Manager aloca uma estrutura para armazenar informação sobre a instrução e devolve o handle de ligação na variável.
O Gestor de Drivers não chama SQLAllocHandle no driver neste momento porque não sabe qual driver chamar. Atrasa a chamada do SQLAllocHandle no driver até que a aplicação chame uma função para se ligar a uma fonte de dados. Para mais informações, consulte o Papel do Gestor do Condutor no Processo de Ligação, mais adiante nesta secção.
É importante notar que alocar um manipulador de conexão não é o mesmo que carregar um controlador. O driver não é carregado até que uma função de ligação seja chamada. Assim, após alocar um handle de ligação e antes de se ligar ao driver ou fonte de dados, as únicas funções que a aplicação pode chamar com o handle de ligação são SQLSetConnectAttr, SQLGetConnectAttr ou SQLGetInfo com a opção SQL_ODBC_VER. Chamar outras funções com o handle de ligação, como SQLEndTran, retorna SQLSTATE 08003 (Ligação não aberta). Para detalhes completos, consulte o Apêndice B: Tabelas de Transição de Estado ODBC.
Para mais informações sobre alavancas de ligação, consulte Alavancas de Ligação.