Compartilhar via


Como processar códigos de retorno e parâmetros de saída (ODBC)

Os procedimentos armazenados do SQL Server podem ter códigos de retorno e parâmetros de saída inteiros. Os códigos de retorno e os parâmetros de saída são enviados no último pacote do servidor, não estão disponíveis para o aplicativo até que SQLMoreResults retorne SQL_NO_DATA. Se um erro for retornado de um procedimento armazenado, chame SQLMoreResults para avançar ao próximo resultado até que SQL_NO_DATA seja retornado.

Para obter um exemplo que mostre como processar um código de retorno e parâmetro de saída, consulte ProcessReturnCodes.cpp, que pode ser baixado na página Downloads do SQL Server do MSDN. Esse exemplo foi desenvolvido com o Microsoft Visual C++ 2005 para o ODBC versão 3.0 ou posterior.

Observação sobre segurançaObservação sobre segurança

Quando possível, use a Autenticação do Windows. Se a Autenticação do Windows não estiver disponível, solicite aos usuários que digitem suas credenciais em tempo de execução. Evite armazenar as credenciais em um arquivo. Se for necessário manter as credenciais, criptografe-as com a API de criptografia Win32.

Para processar códigos de retorno e parâmetros de saída

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

  2. Chame SQLBindParameter para cada entrada, entrada/saída e parâmetro de saída e obter o valor de retorno de procedimento (se houver algum).

  3. Execute a instrução com SQLExecDirect.

  4. Processe conjuntos de resultados até que SQLFetch ou SQLFetchScroll retorne SQL_NO_DATA e processando o último conjunto de resultados ou até que SQLMoreResults retorne SQL_NO_DATA. A essa altura, as variáveis associadas aos códigos de retorno e parâmetros de saída são preenchidas com valores de dados retornados.