Partager via


srv_paramlen (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.

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 est le handle pour 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.

Valeurs retournées

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 correspond à l'un des types de données système Microsoft SQL Server 2005 ci-dessous.

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é comme 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.

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 le site Web de Microsoft à l'adresse suivante .