Compartilhar via


Como chamar procedimentos armazenados (ODBC)

Quando uma instrução SQL chama um procedimento armazenado usando a cláusula escape ODBC CALL, o driver do Microsoft® SQL Server™ envia o procedimento para o SQL Server por meio do mecanismo RPC (chamada de procedimento armazenado remoto). As solicitações de RPC ignoram grande parte da análise de instruções e do processamento de parâmetros no SQL Server e são mais rápidas do que a instrução EXECUTE do Transact-SQL.

Para obter um exemplo de aplicativo que demonstra este recurso, veja o exemplo para processing return codes and output parametersdisponível no CodePlex; consulte Exemplos do Mecanismo de Banco de Dados do SQL Server para obter mais informações.

Para executar um procedimento como um RPC

  1. Crie uma instrução SQL que use a seqüência de escape ODBC CALL. A instrução usa marcadores de parâmetro para cada parâmetro de entrada, entrada/saída e saída, e para o valor de retorno do procedimento (se houver):

    {? = CALL procname (?,?)}
    
  2. Chame SQLBindParameter para cada parâmetro de entrada, entrada/saída e saída, e para o valor de retorno do procedimento (se houver).

  3. Execute a instrução com SQLExecDirect.

ObservaçãoObservação

Se um aplicativo enviar um procedimento usando a sintaxe EXECUTE Transact-SQL (em oposição à seqüência de escape ODBC CALL), o driver ODBC SQL Server passará a chamada de procedimento para o SQL Server como uma instrução SQL, em vez de como um RPC. Além disso, os parâmetros de saída não serão retornados se a instrução EXECUTE Transact-SQL for usada.