Partager via


SQLSetConnectAttrForDbcInfo, fonction

Conformité
Version introduite : Conformité aux normes ODBC 3.81 : ODBC

Résumé
SQLSetConnectAttrForDbcInfo est identique à SQLSetConnectAttr, mais il définit l’attribut sur le jeton d’informations de connexion au lieu de sur le handle de connexion.

Syntaxe

  
SQLRETURN  SQLSetConnectAttrForDbcInfo(  
                SQLHDBC_INFO_TOKEN    hDbcInfoToken,  
                SQLINTEGER            Attribute,  
                SQLPOINTER            ValuePtr,  
                SQLINTEGER            StringLength );  

Arguments

hDbcInfoToken
[Entrée] Handle de jeton.

Attribut
[Entrée] Attribut à définir. La liste des attributs valides est spécifique au pilote et identique à celle de SQLSetConnectAttr.

ValuePtr
[Entrée] Pointeur vers la valeur à associer à Attribute. Selon la valeur de Attribute, ValuePtr est une valeur entière non signée 32 bits ou pointe vers une chaîne de caractères terminée par null. Notez que si l’argument Attribute est une valeur spécifique au pilote, la valeur dans ValuePtr peut être un entier signé.

StringLength
[Entrée] Si Attribute est un attribut défini par ODBC et que ValuePtr pointe vers une chaîne de caractères ou une mémoire tampon binaire, cet argument doit être la longueur de *ValuePtr. Pour les données de chaîne de caractères, cet argument doit contenir le nombre d’octets dans la chaîne.

Si Attribute est un attribut défini par ODBC et Que ValuePtr est un entier, StringLength est ignoré.

Si Attribute est un attribut défini par le pilote, l’application indique la nature de l’attribut au Gestionnaire de pilotes en définissant l’argument StringLength . StringLength peut avoir les valeurs suivantes :

  • Si ValuePtr est un pointeur vers une chaîne de caractères, StringLength est la longueur de la chaîne ou de la SQL_NTS.

  • Si ValuePtr est un pointeur vers une mémoire tampon binaire, l’application place le résultat de la macro SQL_LEN_BINARY_ATTR(length) dans StringLength. Cette opération place une valeur négative dans StringLength.

  • Si ValuePtr est un pointeur vers une valeur autre qu’une chaîne de caractères ou une chaîne binaire, stringLength doit avoir la valeur SQL_IS_POINTER.

  • Si ValuePtr contient une valeur de longueur fixe, StringLength est SQL_IS_INTEGER ou SQL_IS_UINTEGER, selon le cas.

Retours

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR ou SQL_INVALID_HANDLE.

Diagnostics

Identique à SQLSetConnectAttr, sauf que le Gestionnaire de pilotes utilise un HandleType de SQL_HANDLE_DBC_INFO_TOKEN et un Handle de hDbcInfoToken.

Remarques

SQLSetConnectAttrForDbcInfo est identique à SQLSetConnectAttr, mais il définit l’attribut sur le jeton d’informations de connexion, au lieu de sur le handle de connexion. Par exemple, si SQLSetConnectAttr ne reconnaît pas d’attribut, SQLSetConnectAttrForDbcInfo doit également retourner SQL_ERROR pour cet attribut.

Chaque fois que le pilote retourne SQL_ERROR ou SQL_INVALID_HANDLE, il doit ignorer cet attribut pour calculer l’ID du pool. En outre, le Gestionnaire de pilotes obtient les informations de diagnostic à partir de hDbcInfoToken et retourne SQL_SUCCESS_WITH_INFO à l’application dans SQLConnect et SQLDriverConnect. Par conséquent, une application peut récupérer des détails sur la raison pour laquelle certains attributs ne peuvent pas être définis.

Les applications ne doivent pas appeler cette fonction directement. Un pilote ODBC qui prend en charge le regroupement de connexions prenant en charge les pilotes doit implémenter cette fonction.

Incluez sqlspi.h pour le développement de pilotes ODBC.

Voir aussi

Développement d’un pilote ODBC
Regroupement de connexions prenant en charge les pilotes
Développement de la reconnaissance des pools de connexions dans un pilote ODBC