Esecuzione di stored procedure (OLE DB)
Durante l'esecuzione di istruzioni, la chiamata a una stored procedure nell'origine dati, in alternativa all'esecuzione o alla preparazione diretta di un'istruzione nell'applicazione client, può offrire i vantaggi seguenti:
Prestazioni più elevate.
Overhead di rete ridotto.
Maggiore consistenza.
Maggiore precisione.
Maggior numero di funzionalità.
Il provider OLE DB di SQL Server Native Client supporta tre dei meccanismi utilizzati dalle stored procedure di SQL Server per restituire dati:
Ogni istruzione SELECT nella procedura genera un set di risultati.
La procedura può restituire dati tramite parametri di output.
La procedura può avere un codice restituito di tipo integer.
L'applicazione deve essere in grado di gestire tutti questi output dalle stored procedure.
Provider OLE DB diversi restituiscono parametri di output e valori in momenti diversi durante l'elaborazione dei risultati. Nel caso del provider OLE DB di SQL Server Native Client, i parametri di output e i codici restituiti non vengono forniti fino a dopo che il consumer non ha recuperato o annullato i set di risultati restituiti dalla stored procedure. I codici e i parametri di output vengono restituiti nell'ultimo pacchetto TDS dal server.
I provider utilizzano la proprietà DBPROP_OUTPUTPARAMETERAVAILABILITY per segnalare la restituzione di parametri di output e valori. Questa proprietà è inclusa nel set di proprietà DBPROPSET_DATASOURCEINFO.
Il provider OLE DB di SQL Server Native Client imposta la proprietà DBPROP_OUTPUTPARAMETERAVAILABILITY su DBPROPVAL_OA_ATROWRELEASE per indicare che i codici e i parametri di output non vengono restituiti fino a quando il set di risultati non viene elaborato o rilasciato.