Stored Procedures - Draaien in SQL Server Native Client

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Important

De SQL Server Native Client (vaak afgekort SNAC) is verwijderd uit SQL Server 2022 (16.x) en SQL Server Management Studio 19 (SSMS). Zowel de SQL Server Native Client OLE DB-provider (SQLNCLI of SQLNCLI11) als de verouderde Microsoft OLE DB-provider voor SQL Server (SQLOLEDB) worden niet aanbevolen voor nieuwe ontwikkeling. Schakel over naar het nieuwe Microsoft OLE DB-stuurprogramma (MSOLEDBSQL) voor SQL Server.

Bij het uitvoeren van statements kan het aanroepen van een opgeslagen procedure op de databron (in plaats van direct een statement in de clientapplicatie uit te voeren of voor te bereiden) het volgende opleveren:

  • Hogere prestaties.

  • Verminderde netwerkoverhead.

  • Betere consistentie.

  • Betere nauwkeurigheid.

  • Toegevoegde functionaliteit.

De SQL Server Native Client OLE DB-provider ondersteunt drie mechanismen die SQL Server stored procedures gebruiken om data terug te geven:

  • Elke SELECT-instructie in de procedure genereert een resultaatset.

  • De procedure kan gegevens teruggeven via outputparameters.

  • De procedure kan een geheel retourcode hebben.

De applicatie moet al deze uitvoer van opgeslagen procedures kunnen verwerken.

Verschillende OLE DB-providers geven outputparameters en waarden op verschillende momenten terug tijdens de resultaatverwerking. In het geval van de SQL Server Native Client OLE DB-provider worden de outputparameters en retourcodes pas geleverd nadat de consument de resultaatsets die door de opgeslagen procedure zijn teruggegeven heeft opgehaald of geannuleerd. De retourcodes en de uitvoerparameters worden teruggegeven in het laatste TDS-pakket van de server.

Providers gebruiken de DBPROP_OUTPUTPARAMETERAVAILABILITY-eigenschap om te rapporteren wanneer het outputparameters en waarden teruggeeft. Deze eigenschap bevindt zich in de DBPROPSET_DATASOURCEINFO eigenschapsset.

De SQL Server Native Client OLE DB-provider stelt de eigenschap DBPROP_OUTPUTPARAMETERAVAILABILITY in op DBPROPVAL_OA_ATROWRELEASE om aan te geven dat retourcodes en outputparameters pas worden teruggegeven nadat de resultaatset is verwerkt of vrijgegeven.