Share via


srv_describe (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 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
    Non 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 Type 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. Lorsque srv_sendrow est appelé, il recherche les données pour colnumber à srcdata. Par conséquent, il ne doit pas être libéré avant un appel à srv_sendrow. L'adresse des données sources peut être modifiée 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 souhaitées. Vous pouvez utiliser DEFAULTPRECISION pour spécifier une précision par défaut et DEFAULTSCALE pour spécifier une échelle par défaut.

Valeur retournée

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 modifier l'emplacement et la longueur des données sources dans les lignes de colonnes avant que le jeu de résultats complet ait été envoyé, utilisez srv_setcoldata et srv_setcollen, respectivement.

Pour une description des types de données et des conversions de types de données d'API de procédure stockée étendue, consultez 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 la 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.

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

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.