Procedimentos armazenados – em execução
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)
Ao executar instruções, a chamada a um procedimento armazenado na fonte de dados (em vez de executar ou preparar uma instrução diretamente no aplicativo cliente) pode fornecer:
Maior desempenho.
Menor sobrecarga da rede.
Melhor consistência.
Maior exatidão.
Maior funcionalidade.
O Driver do OLE DB para SQL Server dá suporte a três dos mecanismos que os procedimentos armazenados do SQL Server usam para retornar dados:
Toda instrução SELECT no procedimento gera um conjunto de resultados.
O procedimento pode retornar dados através de parâmetros de saída.
O procedimento pode ter um código de retorno de inteiro.
O aplicativo precisa ser capaz de tratar todas essas saídas provenientes dos procedimentos armazenados.
Provedores do OLE DB diferentes retornam parâmetros de saída e valores de retorno em horários diferentes durante o processamento de resultados. No caso do OLE DB Driver for SQL Server, os parâmetros de saída e os códigos de retorno não serão fornecidos enquanto o consumidor não tiver recuperado ou cancelado os conjuntos de resultados retornados pelo procedimento armazenado. Os códigos de retorno e parâmetros de saída são retornados no último pacote TDS proveniente do servidor.
Os provedores usam a propriedade DBPROP_OUTPUTPARAMETERAVAILABILITY para informar o momento em que são retornados os parâmetros de saída e valores de retorno. Essa propriedade faz parte do conjunto de propriedades DBPROPSET_DATASOURCEINFO.
O OLE DB Driver for SQL Server define a propriedade DBPROP_OUTPUTPARAMETERAVAILABILITY como DBPROPVAL_OA_ATROWRELEASE para indicar que os códigos de retorno e parâmetros de saída não serão retornados enquanto o conjunto de resultados não for processado ou liberado.