Partager via


SQLDriverConnect

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Le pilote ODBC SQL Server Native Client définit les attributs de connexion qui remplacent ou améliorent les mots clés de chaîne de connexion. Plusieurs mots clés de chaîne de connexion ont des valeurs par défaut spécifiées par le pilote ODBC SQL Server Native Client.

Pour obtenir la 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 comportements par défaut des attributs de connexion SQL Server et du pilote, consultez SQLSetConnectAttr.

Pour une discussion sur les mots clés chaîne de connexion valides pour SQL Server Native Client, consultez Utilisation de mots clés de chaîne de connexion avec SQL Server Native Client.

Lorsque la valeur du paramètre SQLDriverConnectDriverCompletion est SQL_DRIVER_PROMPT, SQL_DRIVER_COMPLETE ou SQL_DRIVER_COMPLETE_REQUIRED, le pilote ODBC SQL Server Native Client récupère les valeurs de mot clé dans la boîte de dialogue affichée. Si la valeur du mot clé est passée dans le chaîne de connexion et que l’utilisateur ne modifie pas la valeur du mot clé dans la boîte de dialogue, le pilote ODBC SQL Server Native Client utilise la valeur de l’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 une valeur WindowHandle valide quand 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 spécifié ou est le plus à gauche des deux, et que la valeur du 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 du paramètre DriverCompletion est SQL_DRIVER_NOPROMPT ou SQL_DRIVER_COMPLETE_REQUIRED et que la langue ou la base de données provient du chaîne de connexion et n’est pas valide, SQLDriverConnect retourne SQL_ERROR.

Si la valeur du paramètre DriverCompletion est SQL_DRIVER_NOPROMPT ou SQL_DRIVER_COMPLETE_REQUIRED et que la langue 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 du paramètre DriverCompletion est SQL_DRIVER_COMPLETE ou SQL_DRIVER_PROMPT et si la langue ou la base de données n’est pas valide, SQLDriverConnect réaffiche la boîte de dialogue.

SQLDriverConnect prend en charge les fonctionnalités de récupération d'urgence, haute disponibilité

Pour plus d’informations sur l’utilisation de SQLDriverConnect pour vous connecter à un cluster de groupes de disponibilité Always On, consultez prise en charge de SQL Server Native Client pour la haute disponibilité, reprise d’activité après sinistre.

Prise en charge de SQLDriverConnect pour les noms de principaux du service (SPN)

SQLDDriverConnect utilise la boîte de dialogue Connexion ODBC lorsque l’invite est activée. Celle-ci vous permet d'entrer des SPN à la fois pour le serveur principal et pour le partenaire de basculement.

SQLDriverConnect accepte les nouveaux mots clés chaîne de connexion ServerSPN et FailoverPartnerSPN, et reconnaît 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.

Lorsqu’une connexion est ouverte, SQL Server Native Client définit SQL_COPT_SS_MUTUALLY_AUTHENTICATED et SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD à la méthode d’authentification utilisée pour ouvrir la connexion.

Pour plus d’informations sur les SPN, consultez Les noms de principal de service (SPN) dans les connexions clientes (ODBC).

Exemples

L’appel suivant illustre la quantité minimale de données requise 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îne de connexion suivantes illustrent les données minimales requises lorsque la valeur du 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

SQLDriverConnect, fonction
Détails de l’implémentation d’API ODBC
SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)