Partager via


SQLSetConnectAttr

Le pilote ODBC SQL Server Native Client ignore le paramètre de SQL_ATTR_CONNECTION_TIMEOUT.

SQL_ATTR_TRANSLATE_LIB est également ignoré ; la spécification d’une autre bibliothèque de traduction n’est pas prise en charge. Pour permettre aux applications d’être facilement transférées pour utiliser un pilote Microsoft ODBC pour SQL Server, toute valeur définie avec SQL_ATTR_TRANSLATE_LIB sera copiée dans et hors d’une mémoire tampon dans le Gestionnaire de pilotes.

Le pilote ODBC SQL Server Native Client implémente l’isolation de transaction de lecture reproductible comme sérialisable.

SQL Server 2005 a introduit la prise en charge d’un nouvel attribut d’isolation des transactions, SQL_COPT_SS_TXN_ISOLATION. Définir SQL_COPT_SS_TXN_ISOLATION sur SQL_TXN_SS_SNAPSHOT indique que la transaction aura lieu sous le niveau d’isolation de l’instantané.

Remarque

SQL_ATTR_TXN_ISOLATION pouvez être utilisé pour définir tous les autres niveaux d’isolation à l’exception de SQL_TXN_SS_SNAPSHOT. Si vous souhaitez utiliser l’isolation des instantanés, vous devez définir SQL_TXN_SS_SNAPSHOT via SQL_COPT_SS_TXN_ISOLATION. Toutefois, vous pouvez récupérer le niveau d’isolation à l’aide de SQL_ATTR_TXN_ISOLATION ou de SQL_COPT_SS_TXN_ISOLATION.

La promotion des attributs d’instruction ODBC aux attributs de connexion peut avoir des conséquences inattendues. Les attributs d’instruction qui demandent des curseurs de serveur pour le traitement du jeu de résultats peuvent être promus vers la connexion. Par exemple, la définition de l’attribut d’instruction ODBC SQL_ATTR_CONCURRENCY sur une valeur plus restrictive que la valeur par défaut SQL_CONCUR_READ_ONLY dirige le pilote à utiliser des curseurs dynamiques pour toutes les instructions soumises sur la connexion. L’exécution d’une fonction de catalogue ODBC sur une instruction sur la connexion retourne SQL_SUCCESS_WITH_INFO et un enregistrement de diagnostic indiquant que le comportement du curseur a été modifié en lecture seule. La tentative d’exécution d’une instruction Transact-SQL SELECT contenant une clause COMPUTE sur la même connexion échoue.

Le pilote ODBC SQL Server Native Client prend en charge un certain nombre d’extensions spécifiques au pilote pour les attributs de connexion ODBC définis dans sqlncli.h. Le pilote ODBC SQL Server Native Client peut exiger que l’attribut soit défini avant la connexion, ou il peut ignorer l’attribut s’il est déjà défini. Le tableau suivant répertorie les restrictions.

Attribut SQL Server Définir avant ou après la connexion au serveur
SQL_COPT_SS_ANSI_NPW Avant
SQL_COPT_SS_APPLICATION_INTENT Avant
SQL_COPT_SS_ATTACHDBFILENAME Avant
SQL_COPT_SS_BCP Avant
SQL_COPT_SS_BROWSE_CONNECT Avant
SQL_COPT_SS_BROWSE_SERVER Avant
SQL_COPT_SS_CONCAT_NULL Avant
SQL_COPT_SS_CONNECTION_DEAD Après
SQL_COPT_SS_ENCRYPT Avant
SQL_COPT_SS_ENLIST_IN_DTC Après
SQL_COPT_SS_ENLIST_IN_XA Après
SQL_COPT_SS_FALLBACK_CONNECT Avant
SQL_COPT_SS_FAILOVER_PARTNER Avant
SQL_COPT_SS_INTEGRATED_SECURITY Avant
SQL_COPT_SS_MARS_ENABLED Avant
SQL_COPT_SS_MULTISUBMIT_FAILOVER Avant
SQL_COPT_SS_OLDPWD Avant
SQL_COPT_SS_PERF_DATA Après
SQL_COPT_SS_PERF_DATA_LOG Après
SQL_COPT_SS_PERF_DATA_LOG_NOW Après
SQL_COPT_SS_PERF_QUERY Après
SQL_COPT_SS_PERF_QUERY_INTERVAL Après
SQL_COPT_SS_PERF_QUERY_LOG Après
SQL_COPT_SS_PRESERVE_CURSORS Avant
SQL_COPT_SS_QUOTED_IDENT Ou
SQL_COPT_SS_TRANSLATE Ou
SQL_COPT_SS_TRUST_SERVER_CERTIFICATE Avant
SQL_COPT_SS_TXN_ISOLATION Ou
SQL_COPT_SS_USE_PROC_FOR_PREP Ou
SQL_COPT_SS_USER_DATA Ou
SQL_COPT_SS_WARN_ON_CP_ERROR Avant

L’utilisation d’un attribut de pré-connexion et de la commande Transact-SQL équivalente pour la même session, la base de données ou l’état SQL Server peuvent produire un comportement inattendu. Par exemple,

SQLSetConnectAttr(SQL_COPT_SS_QUOTED_IDENT, SQL_QI_ON) // turn ON via attribute  
SQLDriverConnect(...);  
SQLExecDirect("SET QUOTED_IDENTIFIER OFF") // turn OFF via Transact-SQL  
SQLSetConnectAttr(SQL_ATTR_CURRENT_CATALOG, ...) // restores to pre-connect attribute value  

SQL_COPT_SS_ANSI_NPW

SQL_COPT_SS_ANSI_NPW active ou désactive l’utilisation de la gestion ISO de NULL dans les comparaisons et la concaténation, le remplissage des types de données caractères et les avertissements. Pour plus d’informations, consultez SET ANSI_NULLS, SET ANSI_PADDING, SET ANSI_WARNINGS et SET CONCAT_NULL_YIELDS_NULL.

Valeur Descriptif
SQL_AD_ON Par défaut. La connexion utilise le comportement par défaut ANSI pour gérer les comparaisons NULL, le remplissage, les avertissements et les concaténations NULL.
SQL_AD_OFF La connexion utilise la gestion définie par SQL Server de NULL, le remplissage des types de données caractères et les avertissements.

Si vous utilisez le regroupement de connexions, SQL_COPT_SS_ANSI_NPW doit être défini dans la chaîne de connexion, plutôt qu’avec SQLSetConnectAttr. Une fois qu’une connexion a été établie, toute tentative de modification de cet attribut échoue en mode silencieux lorsque le regroupement de connexions est utilisé.

SQL_COPT_SS_APPLICATION_INTENT

Déclare le type de la charge de travail de l'application lors de la connexion à un serveur. Les valeurs possibles sont Readonly et ReadWrite. Par exemple:

SQLSetConnectAttr(hdbc, SQL_COPT_SS_APPLICATION_INTENT, TEXT("Readonly"), SQL_NTS)  

La valeur par défaut est ReadWrite. Pour plus d’informations sur la prise en charge de SQL Server Native Client pour les groupes de disponibilité Always On, consultez prise en charge de SQL Server Native Client pour la haute disponibilité, reprise d’activité après sinistre.

SQL_COPT_SS_ATTACHDBFILENAME

SQL_COPT_SS_ATTACHDBFILENAME spécifie le nom du fichier principal d’une base de données joignable. Cette base de données est attachée et devient la base de données par défaut pour la connexion. Pour utiliser SQL_COPT_SS_ATTACHDBFILENAME vous devez spécifier le nom de la base de données comme valeur de l’attribut de connexion SQL_ATTR_CURRENT_CATALOG ou dans le paramètre DATABASE = d’un SQLDriverConnect. Si la base de données a été précédemment attachée, SQL Server ne la détachera pas.

Valeur Descriptif
SQLPOINTER vers une chaîne de caractères La chaîne contient le nom du fichier principal de la base de données à joindre. Incluez le nom complet du chemin d’accès du fichier.

SQL_COPT_SS_BCP

SQL_COPT_SS_BCP active les fonctions de copie en bloc sur une connexion. Pour plus d’informations, consultez Fonctions de copie en bloc.

Valeur Descriptif
SQL_BCP_OFF Par défaut. Les fonctions de copie en bloc ne sont pas disponibles sur la connexion.
SQL_BCP_ON Les fonctions de copie en bloc sont disponibles sur la connexion.

SQL_COPT_SS_BROWSE_CONNECT

Cet attribut est utilisé pour personnaliser le jeu de résultats retourné par SQLBrowseConnect. SQL_COPT_SS_BROWSE_CONNECT active ou désactive le retour d’informations supplémentaires à partir d’une instance énumérée de SQL Server. Cela peut inclure des informations telles que si le serveur est un cluster, des noms de différentes instances et le numéro de version.

Valeur Descriptif
SQL_MORE_INFO_NO Par défaut. Retourne une liste de serveurs.
SQL_MORE_INFO_YES SQLBrowseConnect retourne une chaîne étendue de propriétés de serveur.

SQL_COPT_SS_BROWSE_SERVER

Cet attribut est utilisé pour personnaliser le jeu de résultats retourné par SQLBrowseConnect. SQL_COPT_SS_BROWSE_SERVER spécifie le nom du serveur pour lequel SQLBrowseConnect retourne les informations.

Valeur Descriptif
computername SQLBrowseConnect retourne une liste d’instances de SQL Server sur l’ordinateur spécifié. Les barres obliques inverses doubles (\\) ne doivent pas être utilisées pour le nom du serveur (par exemple, au lieu de \\MyServer, MyServer doit être utilisé).
ZÉRO Par défaut. SQLBrowseConnect retourne des informations pour tous les serveurs du domaine.

SQL_COPT_SS_CONCAT_NULL

SQL_COPT_SS_CONCAT_NULL active ou désactive l’utilisation de la gestion ISO de NULL lors de la concaténation de chaînes. Pour plus d’informations, consultez SET CONCAT_NULL_YIELDS_NULL.

Valeur Descriptif
SQL_CN_ON Par défaut. La connexion utilise le comportement par défaut ISO pour gérer les valeurs NULL lors de la concaténation de chaînes.
SQL_CN_OFF La connexion utilise le comportement défini par SQL Server pour gérer les valeurs NULL lors de la concaténation de chaînes.

SQL_COPT_SS_ENCRYPT

Contrôle le chiffrement pour une connexion.

Le chiffrement utilise le certificat sur le serveur. Cela doit être vérifié par une autorité de certification, sauf si l’attribut de connexion SQL_COPT_SS_TRUST_SERVER_CERTIFICATE est défini sur SQL_TRUST_SERVER_CERTIFICATE_YES ou que la chaîne de connexion contient « TrustServerCertificate=yes ». Si l’une de ces conditions est vraie, un certificat généré et signé par le serveur peut être utilisé pour chiffrer la connexion si aucun certificat n’est sur le serveur.

Valeur Descriptif
SQL_EN_ON La connexion est chiffrée.
SQL_EN_OFF La connexion ne sera pas chiffrée. Il s’agit de la valeur par défaut.

SQL_COPT_SS_ENLIST_IN_DTC

Le client appelle la méthode OLE DB ITransactionDispenser ::BeginTransaction de Microsoft Distributed Transaction Coordinator (MS DTC) pour commencer une transaction MS DTC et créer un objet de transaction MS DTC qui représente la transaction. L’application appelle SQLSetConnectAttr ensuite avec l’option SQL_COPT_SS_ENLIST_IN_DTC pour associer l’objet transactionnel à la connexion ODBC. Toutes les activités de base de données associées sont effectuées sous la protection de la transaction MS DTC. L’application appelle SQLSetConnectAttr SQL_DTC_DONE pour mettre fin à l’association DTC de la connexion.

Valeur Descriptif
Objet DTC* Objet de transaction OLE MS DTC qui spécifie la transaction à exporter vers SQL Server.
SQL_DTC_DONE Délimite la fin d’une transaction DTC.

SQL_COPT_SS_ENLIST_IN_XA

Pour commencer une transaction XA avec un processeur de transactions conforme à XA (TP), le client appelle la fonction Open Group tx_begin . L’application appelle SQLSetConnectAttr ensuite avec un paramètre SQL_COPT_SS_ENLIST_IN_XA true pour associer la transaction XA à la connexion ODBC. Toutes les activités de base de données associées sont effectuées sous la protection de la transaction XA. Pour mettre fin à une association XA avec une connexion ODBC, le client doit appeler SQLSetConnectAttr avec un paramètre SQL_COPT_SS_ENLIST_IN_XA false. Pour plus d’informations, consultez la documentation microsoft Distributed Transaction Coordinator.

SQL_COPT_SS_FALLBACK_CONNECT

Cet attribut n’est plus pris en charge.

SQL_COPT_SS_FAILOVER_PARTNER

Utilisé pour spécifier ou récupérer le nom du partenaire de basculement utilisé pour la mise en miroir de bases de données dans SQL Server, et il s’agit d’une chaîne de caractères terminée null qui doit être définie avant la création initiale de la connexion à SQL Server.

Après avoir établi la connexion, l’application peut interroger cet attribut à l’aide de SQLGetConnectAttr pour déterminer l’identité du partenaire de basculement. Si le serveur principal n’a aucun partenaire de basculement, cette propriété retourne une chaîne vide. Cela permet à une application intelligente de mettre en cache le serveur de sauvegarde le plus récemment déterminé, mais ces applications doivent être conscientes que les informations sont mises à jour uniquement lorsque la connexion est établie pour la première fois, ou réinitialisée, si elle est mise en pool et peut devenir obsolète pour les connexions à long terme.

Pour plus d’informations, consultez Utilisation de la mise en miroir de bases de données.

SQL_COPT_SS_INTEGRATED_SECURITY

SQL_COPT_SS_INTEGRATED_SECURITY force l’utilisation de l’authentification Windows pour la validation d’accès lors de la connexion au serveur. Lorsque l’authentification Windows est utilisée, le pilote ignore les valeurs d’identificateur d’utilisateur et de mot de passe fournies dans le cadre du traitement SQLConnect, SQLDriverConnect ou SQLBrowseConnect .

Valeur Descriptif
SQL_IS_OFF Par défaut. L’authentification SQL Server est utilisée pour valider l’identificateur de l’utilisateur et le mot de passe lors de la connexion.
SQL_IS_ON Le mode d’authentification Windows est utilisé pour valider les droits d’accès d’un utilisateur au serveur SQL Server.

SQL_COPT_SS_MARS_ENABLED

Cet attribut active ou désactive plusieurs jeux de résultats actifs (MARS). Par défaut, MARS est désactivé. Cet attribut doit être défini avant d’établir une connexion à SQL Server. Une fois que la connexion SQL Server est ouverte, MARS reste activé ou désactivé pour la durée de vie de la connexion.

Valeur Descriptif
SQL_MARS_ENABLED_NO Par défaut. Plusieurs jeux de résultats actifs (MARS) sont désactivés.
SQL_MARS_ENABLED_YES MARS est activé.

Pour plus d’informations sur MARS, consultez Utilisation de plusieurs jeux de résultats actifs (MARS).

SQL_COPT_SS_MULTISUBNET_FAILOVER

Si votre application se connecte à un groupe de disponibilité Always On sur différents sous-réseaux, cette propriété de connexion configure SQL Server Native Client pour fournir une détection et une connexion plus rapides au serveur actif (actuellement). Par exemple:

SQLSetConnectAttr(hdbc, SQL_COPT_SS_MULTISUBMIT_FAILOVER, SQL_IS_ON, SQL_IS_INTEGER)  

Pour plus d’informations sur la prise en charge de SQL Server Native Client pour les groupes de disponibilité Always On, consultez prise en charge de SQL Server Native Client pour la haute disponibilité, reprise d’activité après sinistre.

Valeur Descriptif
SQL_IS_ON SQL Server Native Client fournit une reconnexion plus rapide en cas de basculement.
SQL_IS_OFF SQL Server Native Client ne fournit pas de reconnexion plus rapide en cas de basculement.

SQL_COPT_SS_OLDPWD

L’expiration du mot de passe pour l’authentification SQL Server a été introduite dans SQL Server 2005. L’attribut SQL_COPT_SS_OLDPWD a été ajouté pour permettre au client de fournir l’ancien et le nouveau mot de passe pour la connexion. Lorsque cette propriété est définie, le fournisseur n’utilise pas le pool de connexions pour la première connexion ou pour les connexions suivantes, car la chaîne de connexion contient l'« ancien mot de passe » qui a maintenant changé.

Pour plus d’informations, consultez Modification des mots de passe par programmation.

Valeur Descriptif
SQL_COPT_SS_OLD_PASSWORD SQLPOINTER vers une chaîne de caractères contenant l’ancien mot de passe. Cette valeur est en écriture seule et doit être définie avant la connexion au serveur.

SQL_COPT_SS_PERF_DATA

SQL_COPT_SS_PERF_DATA démarre ou arrête la journalisation des données de performances. Le nom du fichier journal de données doit être défini avant de démarrer la journalisation des données. Consultez SQL_COPT_SS_PERF_DATA_LOG ci-dessous.

Valeur Descriptif
SQL_PERF_START Démarre les données de performances d’échantillonnage du pilote.
SQL_PERF_STOP Arrête les compteurs des données de performances d’échantillonnage.

Pour plus d’informations, consultez SQLGetConnectAttr.

SQL_COPT_SS_PERF_DATA_LOG

SQL_COPT_SS_PERF_DATA_LOG attribue le nom du fichier journal utilisé pour enregistrer les données de performances. Le nom du fichier journal est une chaîne ANSI ou Unicode terminée par null en fonction de la compilation de l’application. L’argument StringLength doit être SQL_NTS.

SQL_COPT_SS_PERF_DATA_LOG_NOW

SQL_COPT_SS_PERF_DATA_LOG_NOW indique au pilote d’écrire une entrée de journal de statistiques sur le disque. L’argument StringLength doit être SQL_NTS.

SQL_COPT_SS_PERF_QUERY

SQL_COPT_SS_PERF_QUERY démarre ou arrête la journalisation pour les requêtes longues. Le nom du fichier journal de requête doit être fourni avant de commencer la journalisation. L’application peut définir « long terme » en définissant l’intervalle pour la journalisation.

Valeur Descriptif
SQL_PERF_START Démarre la journalisation des requêtes de longue durée.
SQL_PERF_STOP Arrête la journalisation des requêtes longues.

Pour plus d’informations, consultez SQLGetConnectAttr.

SQL_COPT_SS_PERF_QUERY_INTERVAL

SQL_COPT_SS_PERF_QUERY_INTERVAL définit le seuil de journalisation des requêtes en millisecondes. Les requêtes qui ne sont pas résolues dans le seuil sont enregistrées dans le fichier journal des requêtes de longue durée. Il n’existe aucune limite supérieure sur le seuil de requête. Une valeur de seuil de requête égale à zéro entraîne la journalisation de toutes les requêtes.

SQL_COPT_SS_PERF_QUERY_LOG

SQL_COPT_SS_PERF_QUERY_LOG attribue le nom d’un fichier journal pour l’enregistrement des données de requête longues. Le nom du fichier journal est une chaîne ANSI ou Unicode terminée par null en fonction de la compilation de l’application. L’argument StringLength doit être SQL_NTS ou la longueur de la chaîne en octets.

SQL_COPT_SS_PRESERVE_CURSORS

Cet attribut vous permet d’interroger et de définir si la connexion conserve ou non le ou les curseurs lorsque vous validez/restaurez une transaction. Le paramètre est SQL_PC_ON ou SQL_PC_OFF. La valeur par défaut est SQL_PC_OFF. Ce paramètre détermine si le pilote ferme le ou les curseurs pour vous lorsque vous appelez SQLEndTran (ou SQLTransact).

Valeur Descriptif
SQL_PC_OFF Par défaut. Les curseurs sont fermés lorsque la transaction est validée ou restaurée à l’aide de SQLEndTran.
SQL_PC_ON Les curseurs ne sont pas fermés lorsque la transaction est validée ou restaurée à l’aide de SQLEndTran, sauf lors de l’utilisation d’un curseur statique ou de jeu de clés en mode asynchrone. Si une restauration est émise alors que la population du curseur n’est pas terminée, le curseur est fermé.

SQL_COPT_SS_QUOTED_IDENT

SQL_COPT_SS_QUOTED_IDENT autorise les identificateurs entre guillemets dans ODBC et les instructions Transact-SQL envoyées sur la connexion. En fournissant des identificateurs entre guillemets, le pilote ODBC SQL Server Native Client autorise d’autres noms d’objets non valides tels que « My Table », qui contient un espace dans l’identificateur. Pour plus d’informations, consultez SET QUOTED_IDENTIFIER.

Valeur Descriptif
SQL_QI_OFF La connexion SQL Server n’autorise pas les identificateurs entre guillemets dans Transact-SQL soumis.
SQL_QI_ON Par défaut. La connexion autorise les identificateurs entre guillemets dans Transact-SQL soumis.

SQL_COPT_SS_TRANSLATE

SQL_COPT_SS_TRANSLATE provoque l’échange des caractères entre les pages de code client et serveur en tant que données MBCS. L’attribut affecte uniquement les données stockées dans les colonneschar,varchar et texte SQL Server.

Valeur Descriptif
SQL_XL_OFF Le pilote ne traduit pas de caractères d’une page de codes vers une autre dans les données de caractères échangées entre le client et le serveur.
SQL_XL_ON Par défaut. Le pilote traduit les caractères d’une page de codes vers une autre dans les données de caractères échangées entre le client et le serveur. Le pilote configure automatiquement la traduction de caractères, déterminant la page de codes installée sur le serveur et celle utilisée par le client.

SQL_COPT_SS_TRUST_SERVER_CERTIFICATE

SQL_COPT_SS_TRUST_SERVER_CERTIFICATE entraîne l’activation ou la désactivation de la validation des certificats par le pilote lors de l’utilisation du chiffrement. Cet attribut est une valeur en lecture/écriture, mais sa définition après l’établissement d’une connexion n’a aucun effet.

Les applications clientes peuvent interroger cette propriété une fois qu’une connexion a été ouverte pour déterminer les paramètres de chiffrement et de validation réels en cours d’utilisation.

Valeur Descriptif
SQL_TRUST_SERVER_CERTIFICATE_NO Par défaut. Le chiffrement sans validation de certificat n’est pas activé.
SQL_TRUST_SERVER_CERTIFICATE_YES Le chiffrement sans validation de certificat est activé.

SQL_COPT_SS_TXN_ISOLATION

SQL_COPT_SS_TXN_ISOLATION définit l’attribut d’isolation d’instantané spécifique à SQL Server. Impossible de définir l’isolation d’instantané à l’aide de SQL_ATTR_TXN_ISOLATION, car la valeur est spécifique à SQL Server. Toutefois, il peut être récupéré à l’aide de SQL_ATTR_TXN_ISOLATION ou de SQL_COPT_SS_TXN_ISOLATION.

Valeur Descriptif
SQL_TXN_SS_SNAPSHOT Indique qu’à partir d’une transaction, vous ne pouvez pas voir les modifications apportées dans d’autres transactions et que vous ne pouvez pas voir les modifications même lors de la nouvelle requête.

Pour plus d’informations sur l’isolation des instantanés, consultez Utilisation de l’isolation des instantanés.

SQL_COPT_SS_USE_PROC_FOR_PREP

Cet attribut n’est plus pris en charge.

SQL_COPT_SS_USER_DATA

SQL_COPT_SS_USER_DATA définit le pointeur de données utilisateur. Les données utilisateur sont la mémoire détenue par le client enregistrée par connexion.

Pour plus d’informations, consultez SQLGetConnectAttr.

SQL_COPT_SS_WARN_ON_CP_ERROR

Cet attribut détermine si vous recevez un avertissement s’il y a une perte de données lors d’une conversion de page de codes. Cela s’applique uniquement aux données provenant du serveur.

Valeur Descriptif
SQL_WARN_YES Générez des avertissements lorsque la perte de données est rencontrée pendant la conversion de la page de code.
SQL_WARN_NO (Par défaut) Ne générez pas d’avertissements lorsque la perte de données est rencontrée pendant la conversion de la page de code.

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

SQLSetConnectAttr peut être utilisé pour définir la valeur des nouveaux attributs de connexion SQL_COPT_SS_SERVER_SPN et SQL_COPT_SS_FAILOVER_PARTNER_SPN. Ces attributs ne peuvent pas être définis lorsqu’une connexion est ouverte ; si vous tentez de définir ces attributs lorsqu’une connexion est ouverte, l’erreur HY011 est retournée avec le message « Opération non valide pour le moment ». (SQLSetConnectOption peut également être utilisé pour définir ces valeurs.)

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

SQL_COPT_SS_CONNECTION_DEAD

Il s’agit d’un attribut en lecture seule.

Pour plus d’informations sur SQL_COPT_SS_CONNECTION_DEAD, consultez SQLGetConnectAttr et Connexion à une source de données (ODBC).

Exemple :

Cet exemple enregistre les données de performances.

SQLPERF*     pSQLPERF;  
SQLINTEGER   nValue;  
  
// See if you are already logging. SQLPERF* will be NULL if not.  
SQLGetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA, &pSQLPERF,  
    sizeof(SQLPERF*), &nValue);  
  
if (pSQLPERF == NULL)  
    {  
    // Set the performance log file name.  
    SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA_LOG,  
        (SQLPOINTER) "\\My LogDirectory\\MyServerLog.txt", SQL_NTS);  
  
    // Start logging...  
    SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA,  
        (SQLPOINTER) SQL_PERF_START, SQL_IS_INTEGER);  
    }  
else  
    {  
    // Take a snapshot now so that your performance statistics are discernible.  
    SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA_LOG_NOW, NULL, 0);  
    }  
  
    // ...perform some action...  
  
// ...take a performance data snapshot...  
SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA_LOG_NOW, NULL, 0);  
  
    // ...perform more actions...  
  
// ...take another snapshot...  
SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA_LOG_NOW, NULL, 0);  
  
// ...and disable logging.  
SQLSetConnectAttr(hDbc, SQL_COPT_SS_PERF_DATA,  
    (SQLPOINTER) SQL_PERF_STOP, SQL_IS_INTEGER);  
  
// Continue on...  

Voir aussi

SQLSetConnectAttr, fonction
Détails de l’implémentation d’API ODBC
Fonctions de copie en bloc
SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)
SET CONCAT_NULL_YIELDS_NULL (Transact-SQL)
SET QUOTED_IDENTIFIER (Transact-SQL)
SQLPrepare, fonction
SQLGetInfo