Compartilhar via


Executar procedimentos

O ODBC define uma sequência de escape padrão para executar procedimentos. Para obter a sintaxe dessa sequência e um exemplo de código que a usa, confira Chamadas de procedimento.

Para executar um procedimento, um aplicativo realiza as seguintes ações:

  1. Define os valores de parâmetros. Para obter mais informações, confira Parâmetros de instrução mais adiante nesta seção.

  2. Chama SQLExecDirect e passa para ele uma cadeia de caracteres contendo a instrução SQL que executa o procedimento. Essa instrução pode usar a sequência de escape definida pela sintaxe específica de ODBC ou DBMS. Instruções que usam sintaxe específica do DBMS não são interoperáveis.

  3. Quando SQLExecDirect é chamado, o driver:

    • Recupera os valores atuais de parâmetro e os converte conforme necessário. Para obter mais informações, confira Parâmetros de instrução mais adiante nesta seção.

    • Chama o procedimento na fonte de dados e envia a ele os valores do parâmetro convertidos. O modo como o driver chama o procedimento depende do driver. Por exemplo, ele pode modificar a instrução SQL para que use a gramática SQL da fonte de dados e enviar essa instrução para execução, ou pode chamar o procedimento diretamente usando um mecanismo de RPC (Chamada de Procedimento Remoto) definido no protocolo de fluxo de dados do DBMS.

    • Retorna os valores de todos os parâmetros de entrada/saída ou saída ou o valor retornado do procedimento, supondo que o procedimento seja bem-sucedido. Esses valores talvez não estejam disponíveis até todos os outros resultados (contagens de linhas e conjuntos de resultados) gerados pelo procedimento terem sido processados. Se o procedimento falhar, o driver retornará qualquer erro.