Procédures stockées - Exécution dans SQL Server Native Client

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Important

SQL Server Native Client (souvent abrégé en SNAC) a été supprimé dans SQL Server 2022 (16.x) et SQL Server Management Studio 19 (SSMS). Le fournisseur OLE DB pour SQL Server Native Client (SQLNCLI ou SQLNCLI11) et le fournisseur Microsoft OLE DB hérité pour SQL Server (SQLOLEDB) ne sont pas recommandés dans les nouveaux développements. Utilisez à la place le nouveau Microsoft OLE DB Driver (MSOLEDBSQL) pour SQL Server.

Lorsque vous exécutez des instructions, appeler une procédure stockée sur la source de données (au lieu d'exécuter ou de préparer directement une instruction dans l'application cliente) peut fournir :

  • des performances accrues ;

  • une charge réseau réduite ;

  • une cohérence améliorée ;

  • une précision améliorée ;

  • des fonctionnalités supplémentaires.

Le fournisseur OLE DB SQL Server Native Client prend en charge trois des mécanismes que SQL Server procédures stockées utilisent pour retourner des données :

  • Chaque instruction SELECT dans la procédure génère un jeu de résultats.

  • La procédure peut retourner des données par l'intermédiaire de paramètres de sortie.

  • La procédure peut avoir un code de retour de type entier.

L'application doit être en mesure de gérer toutes ces sorties provenant de procédures stockées.

Des fournisseurs OLE DB différents retournent des paramètres de sortie et des valeurs de retour à des moments différents pendant le traitement des résultats. Dans le cas du fournisseur OLE DB SQL Server Native Client, les paramètres de sortie et les codes de retour ne sont fournis qu’une fois que le consommateur a récupéré ou annulé les jeux de résultats retournés par la procédure stockée. Les codes de retour et les paramètres de sortie sont retournés dans le dernier paquet TDS provenant du serveur.

Les fournisseurs utilisent la propriété DBPROP_OUTPUTPARAMETERAVAILABILITY pour signaler quand les paramètres de sortie et les valeurs de retour sont retournés. Cette propriété figure dans le jeu de propriétés DBPROPSET_DATASOURCEINFO.

Le fournisseur OLE DB SQL Server Native Client définit la propriété DBPROP_OUTPUTPARAMETERAVAILABILITY sur DBPROPVAL_OA_ATROWRELEASE pour indiquer que les codes de retour et les paramètres de sortie ne sont pas retournés tant que le jeu de résultats n’est pas traité ou libéré.

Voir aussi

Procédures stockées