Procédures stockées - En cours d’exécution dans SQL Server Native Client

S’applique à : SQL Server (toutes les versions prises en charge) Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Important

Le SQL Server Native Client (souvent abrégé SNAC) a été supprimé de SQL Server 2022 (16.x) et SQL Server Management Studio 19 (SSMS). Le fournisseur OLE DB SQL Server Native Client (SQLNCLI ou SQLNCLI11) et le fournisseur Microsoft OLE DB hérité pour SQL Server (SQLOLEDB) ne sont pas recommandés pour les nouveaux développements. Basculez vers le nouveau pilote Microsoft OLE DB (MSOLEDBSQL) pour SQL Server à l’avenir.

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 les procédures stockées SQL Server 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 pas fournis tant qu’une fois que le consommateur n’a pas 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