Partager via


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

Définit le nom de colonne et les types de données sources et de destination pour une colonne spécifique.

Syntaxe

  
int srv_describe (  
SRV_PROC *  
srvproc  
,  
int  
colnumber  
,  
DBCHAR *  
column_name  
,  
int  
namelen  
,  
DBINT  
desttype  
,  
DBINT  
destlen  
,  
DBINT  
srctype  
,  
DBINT  
srclen  
,  
void *  
srcdata  
);  

Arguments

srvproc
Pointeur vers la structure SRV_PROC qui est le handle d'une connexion cliente particulière (dans ce cas, le client qui envoie la ligne). La structure contient toutes les 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.

colnumber
N’est pas pris en charge. Les colonnes doivent être décrites dans l'ordre. Toutes les colonnes doivent être décrites avant que srv_sendrow ne soit appelé.

column_name
Spécifie le nom de la colonne à laquelle les données appartiennent. Ce paramètre peut être NULL car il n'est pas obligatoire qu'une colonne ait un nom.

namelen
Spécifie la longueur, en octets, de column_name. Si namelen est SRV_NULLTERM, column_name doit se terminer par null.

desttype
Spécifie le type de données de la colonne de ligne de destination. Il s'agit du type de données envoyé au client. Le type de données doit être spécifié même si les données sont NULL, pour plus d’informations, consultez Types de données (API de procédure stockée étendue).

destlen
Spécifie la longueur, en octets, des données à envoyer au client. Pour les types de données de longueur fixe qui n’autorisent pas de valeurs NULL, destlen est ignoré. Pour les types de données de longueur variable et les types de données de longueur fixe qui autorisent les valeurs NULL, destlen spécifie la longueur maximale des données de destination.

srctype
Spécifie le type de données des données sources.

srclen
Spécifie la longueur, en octets, des données sources. Cette valeur est ignorée pour les types de données de longueur fixe.

srcdata
Fournit l'adresse des données sources pour une colonne particulière. Quand srv_sendrow est appelé, il recherche les données pour colnumber à srcdata. Ainsi, il ne doit pas être libéré avant un appel à srv_sendrow. Vous pouvez changer l’adresse des données sources entre des appels à srv_sendrow à l’aide de srv_setcoldata. La mémoire allouée pour srcdata ne doit pas être libérée tant que les données de la colonne ne sont pas remplacées par un autre appel à srv_setcoldata ou tant que srv_senddone n’est pas appelé.

Si desttype est SRVDECIMAL ou SRVNUMERIC, le paramètre srcdata doit être un pointeur vers une structure DBNUMERIC ou DBDECIMAL avec les champs de précision et d’échelle de la structure déjà définis aux valeurs que vous souhaitez. Vous pouvez utiliser DEFAULTPRECISION pour spécifier une précision par défaut et DEFAULTSCALE pour spécifier une échelle par défaut.

Retours

Numéro de la colonne décrite. La première colonne est la colonne 1. Si une erreur se produit, retourne 0.

Notes

La fonction srv_describe doit être appelée une fois pour chaque colonne dans la ligne avant le premier appel à srv_sendrow. Les colonnes d'une ligne peuvent être décrites dans n'importe quel ordre.

Pour changer l’emplacement et la longueur des données sources dans les lignes de colonnes avant d’envoyer le jeu de résultats complet, utilisez srv_setcoldata et srv_setcollen, respectivement.

Pour obtenir une description des types de données et des conversions de types de données de l’API de procédure stockée étendue, consultez l’API de type de données (API de procédure stockée étendue) .

Si le nom de colonne dans votre application est en Unicode, vous devez le convertir en page de codes multioctets du serveur avant d’appeler srv_describe. Pour plus d’informations, consultez Données Unicode et pages de codes du serveur.

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_sendrow (API de procédure stockée étendue)
srv_setutype (API de procédure stockée étendue)
srv_setcoldata (API de procédure stockée étendue)