SQLDriverConnect
Le pilote ODBC SQL Server Native Client définit des attributs de connexion qui remplacent ou améliorent les mots clés de chaînes de connexion. Plusieurs mots clés de chaînes de connexion ont des valeurs par défaut définies par le pilote ODBC SQL Server Native Client.
Pour obtenir une liste des mots clés disponibles dans le pilote ODBC SQL Server Native Client, consultez Utilisation de mots clés de chaîne de connexion avec SQL Server Native Client.
Pour plus d'informations sur les attributs de connexion SQL Server et les comportements par défaut du pilote, consultez SQLGetConnectAttr.
Lorsque la valeur de paramètre SQLDriverConnectDriverCompletion est SQL_DRIVER_PROMPT, SQL_DRIVER_COMPLETE ou SQL_DRIVER_COMPLETE_REQUIRED, le pilote ODBC SQL Server Native Client extrait des valeurs de mot clé de la boîte de dialogue affichée. Si la valeur de mot clé est transmise à la chaîne de connexion et si l'utilisateur ne modifie pas la valeur pour le mot clé dans la boîte de dialogue, le pilote ODBC SQL Server Native Client utilise la valeur issue de la chaîne de connexion. Si la valeur n'est pas définie dans la chaîne de connexion et si l'utilisateur ne procède à aucune affectation dans la boîte de dialogue, le pilote utilise la valeur par défaut.
SQLDriverConnect doit recevoir un WindowHandle valide lorsqu'une valeur DriverCompletion nécessite (ou peut nécessiter) l'affichage de la boîte de dialogue de connexion du pilote. Un handle non valide retourne SQL_ERROR.
Spécifiez le mot clé DRIVER ou DSN. ODBC indique que, de ces deux mots clés, un pilote utilise celui qui est situé le plus à gauche et ignore l'autre si les deux sont spécifiés. Si DRIVER est le mot clé spécifié ou le plus à gauche et si la valeur de paramètre SQLDriverConnectDriverCompletion est SQL_DRIVER_NOPROMPT, le mot clé SERVER et une valeur appropriée sont nécessaires.
Lorsque SQL_DRIVER_NOPROMPT est spécifié, les mots clés d'authentification utilisateur doivent être fournis avec des valeurs. Le pilote garantit que la chaîne « Trusted_Connection=yes » ou les mots clés UID et PWD à la fois sont disponibles.
Si la valeur de paramètre DriverCompletion est SQL_DRIVER_NOPROMPT ou SQL_DRIVER_COMPLETE_REQUIRED et si le langage ou la base de données provient de la chaîne de connexion et l'un d'eux n'est pas valide, SQLDriverConnect retourne SQL_ERROR.
Si la valeur de paramètre DriverCompletion est SQL_DRIVER_NOPROMPT ou SQL_DRIVER_COMPLETE_REQUIRED et si le langage ou la base de données provient des définitions de source de données ODBC et n'est pas valide, SQLDriverConnect utilise la langue ou la base de données par défaut pour l'ID d'utilisateur spécifié et retourne SQL_SUCCESS_WITH_INFO.
Si la valeur de paramètre DriverCompletion est SQL_DRIVER_COMPLETE ou SQL_DRIVER_PROMPT et si le langage ou la base de données n'est pas valide, SQLDriverConnect affiche à nouveau la boîte de dialogue.
Prise en charge de SQLDriverConnect pour les noms principaux de service (SPN)
SQLDDriverConnect utilisera la boîte de dialogue de connexion ODBC dès l'activation de l'invite. Ceci permet d'entrer les noms principaux de service à la fois pour le serveur principal et son serveur partenaire de basculement.
SQLDriverConnect acceptera les nouveaux mots clés de chaînes de connexion ServerSPN et FailoverPartnerSPNet validera les nouveaux attributs de connexion SQL_COPT_SS_SERVER_SPN et SQL_COPT_SS_FAILOVER_PARTNER_SPN.
Lorsqu'une valeur d'attribut de connexion est définie plus d'une fois, toute valeur définie par programme à priorité sur la valeur d'un DSN et sur toute valeur dans une chaîne de connexion. Une valeur dans un DSN est prioritaire par rapport à une valeur dans une chaîne de connexion.
Lors de l'ouverture d'une connexion, SQL Server Native Client définit SQL_COPT_SS_MUTUALLY_AUTHENTICATED et SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD sur la méthode d'authentification employée pour ouvrir la connexion.
Pour plus d'informations sur les noms principaux de service (SPN), consultez Noms principaux de service (SPN) dans les connexions clientes (ODBC).
Exemples
L'appel suivant illustre la moindre quantité de données requises pour SQLDriverConnect :
SQLDriverConnect(hdbc, hwnd,
(SQLTCHAR*) TEXT("DRIVER={SQL Server Native Client 10};"), SQL_NTS, szOutConn,
MAX_CONN_OUT, &cbOutConn, SQL_DRIVER_COMPLETE);
Les chaînes de connexion suivantes présentent les données minimales requises lorsque la valeur de paramètre DriverCompletion est SQL_DRIVER_NOPROMPT :
"DSN=Human Resources;Trusted_Connection=yes"
"FILEDSN=HR_FDSN;Trusted_Connection=yes"
"DRIVER={SQL Server Native Client 10};SERVER=(local);Trusted_Connection=yes"
Voir aussi