Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
L’application transmet la longueur d’octet de la mémoire tampon de données au pilote dans un argument, nommé BufferLength ou un nom similaire. Par exemple, dans l’appel suivant à SQLBindCol, l’application spécifie la longueur de la mémoire tampon ValuePtr (sizeof(ValuePtr)) :
SQLCHAR ValuePtr[50];
SQLINTEGER ValueLenOrInd;
SQLBindCol(hstmt, 1, SQL_C_CHAR, ValuePtr, sizeof(ValuePtr), &ValueLenOrInd);
Un pilote retourne toujours le nombre d’octets, et non le nombre de caractères, dans l’argument de longueur de mémoire tampon d’une fonction qui a un argument de chaîne de sortie.
Les longueurs des mémoires tampons de données sont requises uniquement pour les mémoires tampons de sortie ; le pilote les utilise pour éviter d’écrire au-delà de la fin de la mémoire tampon. Toutefois, le pilote vérifie la longueur de la mémoire tampon de données uniquement lorsque la mémoire tampon contient des données de longueur variable, telles que des données caractère ou binaires. Si la mémoire tampon contient des données de longueur fixe, telles qu’un entier ou une structure de date, le pilote ignore la longueur de la mémoire tampon de données et suppose que la mémoire tampon est suffisamment grande pour contenir les données ; autrement dit, il ne tronque jamais les données de longueur fixe. Il est donc important que l’application alloue une mémoire tampon suffisante pour les données de longueur fixe.
Lorsque des chaînes de sortie hors données sont tronquées (par exemple, le nom du curseur retourné pour SQLGetCursorName), la longueur retournée dans l’argument de longueur du tampon représente le nombre maximal de caractères possibles.
Les longueurs de mémoire tampon de données ne sont pas requises pour les mémoires tampons d’entrée, car le pilote n’écrit pas dans ces mémoires tampons.
Cette section contient les rubriques suivantes.