Stored procedure - Esecuzione in SQL Server Native Client
Si applica a: SQL Server (tutte le versioni supportate)
database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Parallel Data Warehouse
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 Native Client supporta tre dei meccanismi utilizzati da SQL Server stored procedure per restituire i SQL Server 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 Native Client, i parametri di output e i codici restituiti non vengono forniti fino a quando il consumer non ha recuperato o annullato i set di risultati restituiti dal SQL Server 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 Native Client imposta la proprietà DBPROP_OUTPUTPARAMETERAVAILABILITY su DBPROPVAL_OA_ATROWRELEASE per indicare che i codici restituiti e i parametri di output non vengono restituiti fino a quando il set di risultati non viene elaborato SQL Server o rilasciato.