Propriétés d’initialisation et d’autorisation (fournisseur OLE DB native client)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Important
SQL Server Native Client (souvent abrégé en SNAC) a été supprimé dans SQL Server 2022 (16.x) et SQL Server Management Studio 19 (SSMS). Le fournisseur OLE DB pour SQL Server Native Client (SQLNCLI ou SQLNCLI11) et le fournisseur Microsoft OLE DB hérité pour SQL Server (SQLOLEDB) ne sont pas recommandés dans les nouveaux développements. Utilisez à la place le nouveau Microsoft OLE DB Driver (MSOLEDBSQL) pour SQL Server.
Le fournisseur OLE DB SQL Server Native Client interprète les propriétés d’initialisation et d’autorisation OLE DB comme suit :
ID de propriété | Description |
---|---|
DBPROP_AUTH_CACHE_AUTHINFO | Le fournisseur OLE DB SQL Server Native Client ne met pas en cache les informations d’authentification. Le fournisseur OLE DB SQL Server Native Client retourne DB_S_ERRORSOCCURRED lors d’une tentative de définition de la valeur de la propriété. Le membre dwStatus de la structure DBPROP indique DBPROPSTATUS_NOTSUPPORTED. |
DBPROP_AUTH_ENCRYPT_PASSWORD | Le fournisseur OLE DB SQL Server Native Client utilise des mécanismes de sécurité Microsoft SQL Server standard pour masquer les mots de passe. Le fournisseur OLE DB SQL Server Native Client retourne DB_S_ERRORSOCCURRED lors d’une tentative de définition de la valeur de la propriété. Le membre dwStatus de la structure DBPROP indique DBPROPSTATUS_NOTSUPPORTED. |
DBPROP_AUTH_INTEGRATED | Si DBPROP_AUTH_INTEGRATED est défini sur un pointeur NULL, une chaîne null ou une valeur VT_BSTR « SSPI », le fournisseur OLE DB SQL Server Native Client utilise le mode d’authentification Windows pour autoriser l’accès utilisateur à la base de données SQL Server spécifiée par les propriétés DBPROP_INIT_DATASOURCE et DBPROP_INIT_CATALOG. S'il a la valeur VT_EMPTY (valeur par défaut), la sécurité de SQL Server est utilisée. La connexion et le mot de passe SQL Server sont spécifiés dans les propriétés DBPROP_AUTH_USERID et DBPROP_AUTH_PASSWORD. |
DBPROP_AUTH_MASK_PASSWORD | Le fournisseur OLE DB SQL Server Native Client utilise des mécanismes de sécurité SQL Server standard pour masquer les mots de passe. Le fournisseur OLE DB SQL Server Native Client retourne DB_S_ERRORSOCCURRED lors d’une tentative de définition de la valeur de la propriété. Le membre dwStatus de la structure DBPROP indique DBPROPSTATUS_NOTSUPPORTED. |
DBPROP_AUTH_PASSWORD | Mot de passe assigné à une connexion SQL Server. Cette propriété est utilisée lorsque l'authentification SQL Server est sélectionnée pour autoriser ou non l'accès à une base de données SQL Server. |
DBPROP_AUTH_PERSIST_ENCRYPTED | Le fournisseur OLE DB SQL Server Native Client ne chiffre pas les informations d’authentification lorsqu’elles sont conservées. Le fournisseur OLE DB SQL Server Native Client retourne DB_S_ERRORSOCCURRED lors d’une tentative de définition de la valeur de la propriété. Le membre dwStatus de la structure DBPROP indique DBPROPSTATUS_NOTSUPPORTED. |
DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO | Le fournisseur OLE DB SQL Server Native Client conserve les valeurs d’authentification, y compris une image d’un mot de passe, si nécessaire. Aucun chiffrement n'est fourni. |
DBPROP_AUTH_USERID | Connexion SQL Server. Cette propriété est utilisée lorsque l'authentification SQL Server est sélectionnée pour autoriser ou non l'accès à une base de données SQL Server. |
DBPROP_INIT_ASYNCH | Le fournisseur OLE DB SQL Server Native Client prend en charge l’initiation asynchrone. La définition de DBPROPVAL_ASYNCH_INITIALIZE dans la propriété DBPROP_INIT_ASYNCH fait que IDBInitialize::Initialize devient un appel non bloquant. Pour plus d’informations, consultez Exécution d’opérations asynchrones. |
DBPROP_INIT_CATALOG | Nom d'une base de données SQL Server existante à laquelle se connecter. |
DBPROP_INIT_DATASOURCE | Nom réseau d’un serveur exécutant une instance de Microsoft SQL Server. S’il existe plusieurs instances de SQL Server en cours d’exécution sur l’ordinateur, la connexion à une instance spécifique de SQL Server nécessite que la valeur DBPROP_INIT_DATASOURCE soit spécifiée sous la forme \\ServerName\InstanceName. La séquence d'échappement \\ est utilisée pour la barre oblique inverse. |
DBPROP_INIT_GENERALTIMEOUT | Indique le nombre de secondes avant une requête, autre que l’initialisation de la source de données et l’exécution des commandes, expire. La valeur 0 indique un délai d’attente infini. Les fournisseurs qui fonctionnent sur des connexions réseau ou dans des scénarios distribués ou traités peuvent prendre en charge cette propriété pour conseiller un composant inscrit à expirer en cas de demande de longue durée. Les délais d'expiration pour l'initialisation d'une source de données et l'exécution d'une commande restent contrôlés par DBPROP_INIT_TIMEOUT et DBPROP_COMMANDTIMEOUT, respectivement. DBPROP_INIT_GENERALTIMEOUT est en lecture seule ; une tentative de définition de la propriété retourne l’erreur dwstatus de DBPROPSTATUS_NOTSETTABLE. |
DBPROP_INIT_HWND | Handle de fenêtre de l'application appelante. Un handle de fenêtre valide est requis pour la boîte de dialogue d'initialisation affichée lorsque la demande des propriétés d'initialisation est autorisée. |
DBPROP_INIT_IMPERSONATION_LEVEL | Le fournisseur OLE DB SQL Server Native Client ne prend pas en charge l’ajustement du niveau d’emprunt d’identité. Le fournisseur OLE DB SQL Server Native Client retourne DB_S_ERRORSOCCURRED lors d’une tentative de définition de la valeur de la propriété. Le membre dwStatus de la structure DBPROP indique DBPROPSTATUS_NOTSUPPORTED. |
DBPROP_INIT_LCID | Le fournisseur OLE DB SQL Server Native Client valide l’ID de paramètres régionaux et retourne une erreur si l’ID de paramètres régionaux n’est pas pris en charge ou n’est pas installé sur le client. |
DBPROP_INIT_LOCATION | Le fournisseur OLE DB SQL Server Native Client retourne DB_S_ERRORSOCCURRED lors d’une tentative de définition de la valeur de la propriété. Le membre dwStatus de la structure DBPROP indique DBPROPSTATUS_NOTSUPPORTED. |
DBPROP_INIT_MODE | Le fournisseur OLE DB SQL Server Native Client retourne DB_S_ERRORSOCCURRED lors d’une tentative de définition de la valeur de la propriété. Le membre dwStatus de la structure DBPROP indique DBPROPSTATUS_NOTSUPPORTED. |
DBPROP_INIT_PROMPT | Le fournisseur OLE DB SQL Server Native Client prend en charge tous les modes d’invite pour l’initialisation de la source de données. Le fournisseur OLE DB SQL Server Native Client utilise DBPROMPT_NOPROMPT comme paramètre par défaut pour la propriété. |
DBPROP_INIT_PROTECTION_LEVEL | Le fournisseur OLE DB SQL Server Native Client ne prend pas en charge un niveau de protection sur les connexions aux instances de SQL Server. Le fournisseur OLE DB SQL Server Native Client retourne DB_S_ERRORSOCCURRED lors d’une tentative de définition de la valeur de la propriété. Le membre dwStatus de la structure DBPROP indique DBPROPSTATUS_NOTSUPPORTED. |
DBPROP_INIT_PROVIDERSTRING | Consultez la chaîne du fournisseur OLE DB SQL Server Native Client plus loin dans cette rubrique. |
DBPROP_INIT_TIMEOUT | Le fournisseur OLE DB SQL Server Native Client retourne une erreur lors de l’initialisation si une connexion à l’instance de SQL Server ne peut pas être établie au cours du nombre de secondes spécifié. |
Dans le jeu de propriétés spécifique au fournisseur DBPROPSET_SQLSERVERDBINIT, le fournisseur OLE DB SQL Server Native Client définit ces propriétés d’initialisation supplémentaires.
ID de propriété | Description |
---|---|
SSPROP_AUTH_OLD_PASSWORD | Tapez : VT_BSTR R/W : Write Valeur par défaut : VT_EMPTY Description : Le mot de passe actuel ou expiré. Pour plus d’informations, consultez Modification des mots de passe par programme. |
SSPROP_INIT_APPNAME | Tapez : VT_BSTR R/W : Lecture/écriture Description : Nom de l'application cliente. |
SSPROP_INIT_AUTOTRANSLATE | Tapez : VT_BOOL R/W : Lecture/écriture Valeur par défaut : VARIANT_TRUE Description : Conversion de caractères OEM/ANSI. VARIANT_TRUE : le fournisseur OLE DB SQL Server Native Client traduit les chaînes de caractères ANSI envoyées entre le client et le serveur en convertissant via Unicode pour réduire les problèmes liés aux caractères étendus correspondants entre les pages de code du client et le serveur : Le client DBTYPE_STR données envoyées à une instance de SQL Server char, varchar ou variable de texte, paramètre ou colonne est convertie de caractère en Unicode à l’aide de la page de codes ANSI cliente (ACP), puis convertie d’Unicode en caractère à l’aide de l’ACP du serveur. Les données SQL Server de type char, varchar ou text envoyées à une variable DBTYPE_STR cliente sont converties du format caractère au format Unicode via la page de codes ANSI du serveur, puis sont converties du format Unicode au format caractère via la page de codes ANSI du client. Ces conversions sont effectuées sur le client par le fournisseur OLE DB SQL Server Native Client. Cela requiert l'utilisation de la même page de codes ANSI sur le serveur et sur le client. Ces paramètres n'ont aucun effet sur les conversions effectuées pour les transferts suivants : Données clientes DBTYPE_WSTR Unicode envoyées aux données de type char, varchar ou text sur le serveur. Données de serveur de type char, varchar ou text envoyées à une variable DBTYPE_WSTR Unicode sur le client. Données clientes ANSI DBTYPE_STR envoyées aux données Unicode de type nchar, nvarchar ou ntext sur le serveur. Données de serveur Unicode de type char, varchar ou text envoyées à une variable ANSI DBTYPE_STR sur le client. VARIANT_FALSE : le fournisseur OLE DB SQL Server Native Client n’effectue pas de traductions de caractères. Le fournisseur OLE DB SQL Server Native Client ne traduit pas le caractère ANSI client DBTYPE_STR données envoyées en caractères, varchar ou variables de texte, paramètres ou colonnes sur le serveur. Aucune traduction n’est effectuée pour les données de type char, varchar ou text envoyées du serveur aux variables DBTYPE_STR sur le client. Si le client et l'instance de SQL Server utilisent des pages de codes ANSI différentes, les caractères étendus peuvent être mal interprétés. |
SSPROP_INIT_CURRENTLANGUAGE | Tapez : VT_BSTR R/W : Lecture/écriture Description : Un nom de langue SQL Server. Identifie la langue utilisée pour le choix et la mise en forme des messages système. La langue doit être installée sur l'ordinateur exécutant une instance de SQL Server, sinon l'initialisation de la source de données échoue. |
SSPROP_INIT_DATATYPECOMPATIBILITY | Tapez : VT_UI2 R/W : Lecture/écriture Valeur par défaut : 0 Description : Active la compatibilité du type de données entre les applications SQL Server et ADO (ActiveX Data Object). Si la valeur par défaut 0 est utilisée, le type de données géré par défaut est celui du fournisseur. Si la valeur 80 est utilisée, les types de données gérés sont uniquement ceux de SQL Server 2000 (8.x). Pour plus d’informations, consultez Utilisation d’ADO avec SQL Server Native Client. |
SSPROP_INIT_ENCRYPT | Type : VT_BOOL Lecture/écriture : lecture/écriture Valeur par défaut : VARIANT_FALSE Description : pour chiffrer les données qui sont transmises sur le réseau, la propriété SSPROP_INIT_ENCRYPT a la valeur VARIANT_TRUE. Si la fonctionnalité de chiffrement de protocole est activée, le chiffrement est systématiquement effectué, indépendamment de la valeur de SSPROP_INIT_ENCRYPT. Si cette fonctionnalité est désactivée et si SSPROP_INIT_ENCRYPT a la valeur VARIANT_TRUE, le chiffrement est effectué. Si la fonctionnalité de chiffrement de protocole est désactivée et si SSPROP_INIT_ENCRYPT a la valeur VARIANT_FALSE, aucun chiffrement n'est effectué. |
SSPROP_INIT_FAILOVERPARTNER | Tapez : VT_BSTR R/W : Lecture/écriture Description : Indique le nom du partenaire de basculement pour la mise en miroir de bases de données. Il s'agit d'une propriété d'initialisation qui ne peut être définie qu'avant l'initialisation. Après l'initialisation, elle retourne le nom du partenaire de basculement (s'il existe), qui est retourné par le serveur principal. Cela permet à une application intelligente de mettre en cache le serveur de sauvegarde le plus récent ; toutefois, de telles applications doivent prendre en compte le fait que les informations sont mises à jour uniquement lorsque la connexion est établie au préalable (ou lorsqu'elle est réinitialisée, en cas de regroupement), et que ces informations peuvent devenir obsolètes dans le cas des connexions à long terme. Après avoir établi la connexion, l'application peut interroger cet attribut pour déterminer l'identité du partenaire de basculement. Si le serveur principal n'a pas de partenaire de basculement, cette propriété retourne une chaîne vide. Pour plus d’informations, consultez Utilisation de la mise en miroir de bases de données. |
SSPROP_INIT_FILENAME | Tapez : VT_BSTR R/W : Lecture/écriture Description : Indique le nom du fichier primaire d'une base de données pouvant être attachée. Cette base de données est attachée et devient la base de données par défaut de la connexion. Pour utiliser SSPROP_INIT_FILENAME, vous devez spécifier le nom de la base de données en tant que valeur de la propriété d'initialisation DBPROP_INIT_CATALOG. Si le nom de la base de données n'existe pas, la propriété recherche le nom de fichier primaire spécifié dans SSPROP_INIT_FILENAME, puis attache cette base de données avec le nom spécifié dans DBPROP_INIT_CATALOG. Si la base de données a été attachée précédemment, SQL Server ne l'attache pas de nouveau. |
SSPROP_INIT_MARSCONNECTION | Tapez : VT_BOOL R/W : Lecture/écriture Valeur par défaut : VARIANT_FALSE Description : Indique si MARS (Multiple Active Result Sets) est activé pour la connexion. Cette option doit être définie à true avant l'établissement d'une connexion à la base de données. Pour plus d’informations, consultez Utilisation de MARS (Multiple Active Result Sets). |
SSPROP_INIT_NETWORKADDRESS | Tapez : VT_BSTR R/W : Lecture/écriture Description : Adresse réseau du serveur exécutant une instance de SQL Server spécifiée par la propriété DBPROP_INIT_DATASOURCE. |
SSPROP_INIT_NETWORKLIBRARY | Tapez : VT_BSTR R/W : Lecture/écriture Description : Nom de la bibliothèque réseau (DLL) utilisée pour communiquer avec une instance de SQL Server. Le nom ne doit pas inclure le chemin d'accès ni l'extension de nom de fichier .dll. La valeur par défaut peut être personnalisée à l'aide de l'utilitaire de configuration de client SQL Server. Remarque : Seuls le protocole TCP et les canaux nommés sont pris en charge par cette propriété. Si vous utilisez cette propriété avec un préfixe, vous obtenez un préfixe double, ce qui entraîne une erreur, car la propriété est utilisée pour générer un préfixe en interne. |
SSPROP_INIT_PACKETSIZE | Tapez : VT_I4 R/W : Lecture/écriture Description : taille d'un paquet réseau en octets. La valeur de propriété relative à la taille du paquet doit être comprise entre 512 et 32 767. La taille de paquet réseau du fournisseur OLE DB SQL Server Native Client par défaut est de 4 096. |
SSPROP_INIT_TAGCOLUMNCOLLATION | Type : BOOL L/E (Lecture/Écriture) : écriture Valeur par défaut : FALSE Description : Propriété utilisée pendant une mise à jour de base de données avec les curseurs côté serveur. Elle balise les données avec les informations de classement obtenues à partir du serveur au lieu de la page de codes du client. Actuellement, cette propriété est utilisée uniquement par le processus de requête distribuée, car elle connaît le classement des données de destination et le convertit de manière appropriée. |
SSPROP_INIT_TRUST_SERVER_CERTIFICATE | Type : VT_BOOL R/W : Lecture/écriture Valeur par défaut : VARIANT_FALSE Description : Permet d'activer ou de désactiver la validation du certificat de serveur. Cette propriété est en lecture/écriture, mais toute tentative pour la définir après qu'une connexion a été établie provoque une erreur. Cette propriété est ignorée si le client est configuré pour exiger une validation de certificat. Toutefois, une application peut l'utiliser conjointement avec SSPROP_INIT_ENCRYPT pour garantir que sa connexion au serveur est chiffrée, même si le client est configuré pour ne pas exiger de chiffrement et si aucun certificat n'est fourni sur le client. Les applications clientes peuvent interroger cette propriété après qu'une connexion a été ouverte pour déterminer le chiffrement effectif et les paramètres de validation utilisés. Remarque : L'utilisation d'un chiffrement sans validation de certificat fournit une protection partielle contre les « renifleurs » de paquets ; toutefois, cette méthode n'offre pas de protection contre les attaques humaines. Elle permet simplement de chiffrer la connexion et les données envoyées au serveur sans validation du certificat de serveur. Pour plus d’informations, consultez Utilisation du chiffrement sans validation. |
SSPROP_INIT_USEPROCFORPREP | Tapez : VT_I4 R/W : Lecture/écriture Valeur par défaut : SSPROPVAL_USEPROCFORPREP_ON Description : La procédure stockée SQL Server. Définit l’utilisation des procédures stockées temporaires SQL Server pour la prise en charge de l’interface ICommandPrepare. Cette propriété était utile uniquement lors d'une connexion à SQL Server 6.5. Elle est ignorée dans les versions ultérieures. SSPROPVAL_USEPROCFORPREP_OFF : Aucune procédure stockée temporaire n'est créée lorsqu'une commande est préparée. SSPROPVAL_USEPROCFORPREP_ON: Une procédure stockée temporaire est créée lorsqu'une commande est préparée. Les procédures stockées temporaires sont supprimées lorsque la session est libérée. SSPROPVAL_USEPROCFORPREP_ON_DROP : Une procédure stockée temporaire est créée lorsqu'une commande est préparée. La procédure est supprimée quand la préparation de la commande est annulée avec ICommandPrepare::Unprepare, quand une nouvelle commande est spécifiée pour l’objet Command avec ICommandText::SetCommandText ou quand toutes les références de l’application à la commande sont libérées. |
SSPROP_INIT_WSID | Tapez : VT_BSTR R/W : Lecture/écriture Description : Chaîne identifiant la station de travail. |
Dans le jeu de propriétés spécifique au fournisseur DBPROPSET_SQLSERVERDATASOURCEINFO, le fournisseur OLE DB SQL Server Native Client définit les propriétés supplémentaires ; pour plus d’informations, consultez Propriétés des informations de source de données.
Chaîne du fournisseur OLE DB de SQL Server Native Client
Le fournisseur OLE DB SQL Server Native Client reconnaît une syntaxe de type ODBC dans les valeurs de propriété de chaîne de fournisseur. La propriété de chaîne du fournisseur est fournie en tant que valeur de la propriété d'initialisation OLE DB DBPROP_INIT_PROVIDERSTRING lorsqu'une connexion est établie à la source de données OLE DB. Cette propriété indique les données de connexion OLE DB spécifiques au fournisseur, qui sont requises pour implémenter une connexion à la source de données OLE DB. Dans la chaîne, les éléments sont délimités à l'aide d'un point-virgule. Le dernier élément de la chaîne doit se terminer par un point-virgule. Chaque élément comprend un mot clé, le signe égal et la valeur passée lors de l'initialisation. Par exemple :
Server=MyServer;UID=MyUserName;
Avec le fournisseur OLE DB SQL Server Native Client, le consommateur n’a jamais besoin d’utiliser la propriété de chaîne de fournisseur. Le consommateur peut définir n’importe quelle propriété d’initialisation reflétée dans la chaîne de fournisseur à l’aide des propriétés d’initialisation propres au fournisseur OLE DB OLE DB ou SQL Server Native Client.
Pour obtenir la liste des mots clés disponibles dans le fournisseur OLE DB SQL Server Native Client, consultez Utilisation de mots clés de chaîne de connexion avec SQL Server Native Client.