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.

Voir aussi

Objets source de données (OLE DB)