Partager via


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

S’applique à : SQL Server

Important

Cette fonctionnalité sera supprimée dans une version future de SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Utilisez plutôt l'intégration du CLR.

Retourne la longueur de données d'un paramètre d'appel de procédure stockée distante. Cette fonction a été remplacée par la fonction srv_paraminfo.

Syntaxe

  
int srv_paramlen (  
SRV_PROC *  
srvproc  
,  
int  
n   
);  

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. Le premier paramètre est 1.

Retours

Longueur réelle, en octets, des données de paramètre. En l’absence de nième paramètre ou de procédure stockée distante, la valeur -1 est retournée. Si le nième paramètre est NULL, la valeur retournée est 0.

Cette fonction retourne les valeurs suivantes si le paramètre est l’un des types de données système Microsoft SQL Server 2005 (9.x) suivants.

Nouveaux types de données Longueur de données d'entrée
BITN NULL : 1

ZERO : 1

>=255 : N/A

<255 : N/A
BIGVARCHAR NULL : 0

ZERO : 1

>=255 : 255

<255 : len réel
BIGCHAR NULL : 0

ZERO : 255

>=255 : 255

<255 : 255
BIGBINARY NULL : 0

ZERO : 255

>=255 : 255

<255 : 255
BIGVARBINARY NULL : 0

ZERO : 1

>=255 : 255

<255 : len réel
NCHAR NULL : 0

ZERO : 255

>=255 : 255

<255 : 255
NVARCHAR NULL : 0

ZERO : 1

>=255 : 255

<255 : len réel
NTEXT NULL : -1

ZERO : -1

>=255 : -1

<255: -1

* len réel = Longueur de chaîne de caractères multioctets (cch)

Notes

Chaque paramètre de procédure stockée distante possède une longueur de données réelle et une longueur de données maximale. Pour les types de données de longueur fixe standard qui n'autorisent pas les valeurs NULL, les longueurs réelle et maximale sont les mêmes. Pour les types de données de longueur variable, les longueurs peuvent varier. Par exemple, un paramètre déclaré en tant que varchar(30) peut posséder des données longues de 10 octets seulement. La longueur réelle du paramètre est 10 et sa longueur maximale est 30. La fonction srv_paramlen obtient la longueur de données réelle, en octets, d’une procédure stockée distante. Pour obtenir la longueur de données maximale d’un paramètre, utilisez srv_parammaxlen.

Quand 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.

Important

Il est préférable d'examiner avec soin 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

srv_paraminfo (API de procédure stockée étendue)
srv_rpcparams (API de procédure stockée étendue)