Exécution de procédures stockées (OLE DB)
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 que le consommateur n'a pas extrait 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 seront pas retournés tant que le jeu de résultats n'aura pas été traité ou libéré.