Partager via


srv_paramset (API de procédure stockée étendue)

Important

Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et modifiez dès que possible les applications qui utilisent actuellement cette fonctionnalité. Utilisez plutôt l'intégration du CLR.

Définit la valeur d'un paramètre de retour d'appel de procédure stockée distante. Cette fonction a été remplacée par la fonction srv_paramsetoutput.

Syntaxe

int srv_paramset ( 
SRV_PROC * 
srvproc 
, 
int 
n 
,  
void * 
data 
, 
int 
len  
);

Arguments

  • srvproc
    Pointeur vers la structure SRV_PROC qui correspond au handle d'une connexion cliente particulière (dans ce cas, le handle qui a reçu l'appel de procédure stockée distante). La structure contient des informations que la bibliothèque d'API de procédure stockée étendue utilise pour gérer les communications et les données entre l'application et le client.

  • n
    Indique le numéro du paramètre à définir. Le premier paramètre est 1.

  • data
    Pointeur vers la valeur de données à renvoyer au client en tant que paramètre de retour de procédure stockée distante.

  • len
    Spécifie la longueur réelle des données à retourner. Si le type de données du paramètre est de longueur constante et qu'il n'autorise pas les valeurs NULL (par exemple, srvbit ou srvint1), len est ignoré.

Valeurs retournées

SUCCEED si la valeur de paramètre a été correctement définie ; sinon, FAIL. FAIL est retourné lorsqu'il n'y a pas de procédure stockée distante en cours, lorsqu'il n'y a aucun nième paramètre de procédure stockée distante, lorsque le paramètre n'est pas un paramètre de retour et lorsque l'argument len n'est pas légal.

Si lena pour valeur 0, il retourne NULL. Pour retourner la valeur NULL au client, la seule façon est d'attribuer la valeur 0 à len.

Cette fonction retourne les valeurs suivantes, si le paramètre est l'un des types de données Microsoft SQL Server 2005.

Nouveaux types de données

Longueur de données de retour

BITN

NULL : len = 0, données = IG, RET = 0

ZERO : N/A

>=255 : N/A

<255 : N/A

BIGVARCHAR

NULL : len = 0, données = IG, RET = 1

ZERO : len = IG, données = IG, RET = 0

>=255 : len = max8k, données = valide, RET = 0

<255 : len = <8k, données = valide, RET = 1

BIGCHAR

NULL : len = 0, données = IG, RET = 1

ZERO : len = IG, données = IG, RET = 0

>=255 : len = max8k, données = valide, RET = 0

<255 : len = <8k, données = valide, RET = 1

BIGBINARY

NULL : len = 0, données = IG, RET = 1

ZERO : len = IG, données = IG, RET = 0

>=255 : len = max8k, données = valide, RET = 0

<255 : len = <8k, données = valide, RET = 1

BIGVARBINARY

NULL : len = 0, données = IG, RET = 1

ZERO : len = IG, données = IG, RET = 0

>=255 : len = max8k, données = valide, RET = 0

<255 : len = <8k, données = valide, RET = 1

NCHAR

NULL : len = 0, données = IG, RET = 1

ZERO : len = IG, données = IG, RET = 0

>=255 : len = max8k, données = valid, RET = 0

<255 : len = <8k, données = valid, RET = 1

NVARCHAR

NULL : len = 0, données = IG, RET = 1

ZERO : len = IG, données = IG, RET = 0

>=255 : len = max8k, données = valide, RET = 0

<255 : len = <8k, données = valide, RET = 1

NTEXT

NULL : len = IG, données = IG, RET = 0

ZERO : len = IG, données = IG, RET = 0

>=255 : len = IG, données = IG, RET = 0

<255 : len = IG, données = IG, RET = 0

RET = Valeur de retour de srv_paramset.

 

IG = La valeur sera ignorée.

 

valide = Tout pointeur valide vers des données.

 

Notes

Les paramètres contiennent des données passées entre les clients et l'application avec des procédures stockées distantes. Le client peut spécifier certains paramètres en tant que paramètres de retour. Ces paramètres de retour peuvent contenir des valeurs que l'application serveur ODS (Open Data Services) repasse au client. L'utilisation de paramètres de retour est analogue au passage de paramètres par référence.

Vous ne pouvez pas définir la valeur de retour pour un paramètre qui n'a pas été appelé en tant que paramètre de retour. Vous pouvez utiliser srv_paramstatus pour déterminer comment le paramètre a été appelé.

Cette fonction définit la valeur de retour pour un paramètre, mais n'envoie pas vraiment la valeur de retour au client. Tous les paramètres de retour, que leurs valeurs de retour aient été définies avec srv_paramset ou non, sont automatiquement envoyés au client lorsque srv_senddone est appelé avec l'indicateur d'état défini avec la valeur SRV_DONE_FINAL.

Lorsqu'un appel de procédure stockée distante est effectué avec des paramètres, ceux-ci peuvent être passés par nom ou par position (sans nom). Si l'appel de procédure stockée distante est effectué avec certains paramètres passés par nom et certains passés par position, une erreur se produit. Le gestionnaire SRV_RPC est tout de même appelé, mais il apparaît comme s'il n'y avait aucun paramètre et srv_rpcparams retourne 0.

Remarque relative à la sécuritéRemarque relative à la sécurité

Il est recommandé de revoir en détail le code source des procédures stockées étendues et de tester les DLL compilées avant de les installer sur un serveur de production. Pour plus d'informations sur l'examen et les tests de sécurité, consultez ce site Web de Microsoft.

Voir aussi

Référence

srv_paramsetoutput (API de procédure stockée étendue)