Connecter l’accès à SQL Server
Applies ToAccess pour Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Souvenez-vous des jours glorieux de la jeunesse, lorsque la soupe avec des pâtes alphabets était votre repas favori. Gardez ces joyeux souvenirs en tête tandis que nous découvrons la version base de données de la soupe alphabet. Les sections suivantes présentent les notions de base de comment accéder à une base de données à l’aide de chaînes de connexion et utiliser une interface de programmation de base de données dans votre code Access VBA.

Composants de l’accès aux données

Dans cet article

Utilisation d’un pilote ODBC ou fournisseur OLE DB

Interface par programme vers SQL Server à partir d’Access

Résumé des versions de pilotes ODBC

Résumé des versions du fournisseur OLE DB

Résumé des mots clés ODBC

Résumé des mots clés OLE DB

Utilisation d’un pilote ODBC ou fournisseur OLE DB

Les chaînes de connexion existent depuis longtemps. Vous pouvez définir une chaîne de connexion mise en forme dans l’interface utilisateur d’Access ou dans le code VBA. Une chaîne de connexion (ODBC ou OLE DB) transmet les informations directement à la base de données, telles que l’emplacement du serveur, le nom de la base de données, le type de sécurité et d’autres options utiles. Par exemple :

ODBC;DRIVER=SQL Server;SERVER="MyServer";DATABASE="MyHRdb";TRUSTED_CONNECTION=Yes
Provider=SQLOLEDB;Data Source=MyServer;Initial Catalog=MyHRdb; Integrated Security=SSPI;

Tout d’abord, il y avait SQL Server Native Client (SNAC), une bibliothèque autonome qui contenait les technologies ODBC et OLEDB, et qui est encore disponible pour les versions de SQL Server 2005 à 2012. De nombreuses applications héritées utilisaient SNAC et sont encore prises en charge pour assurer la compatibilité descendante, mais nous vous déconseillons de l’utiliser pour le développement de nouvelles applications. Vous devez utiliser des versions individuelles et téléchargeables ultérieures des pilotes ODBC.

Pilotes ODBC

ODBC (Open Database Connectivity) est un protocole qui permet de connecter une base de données Access à une source de données externes, telle que Microsoft SQL Server. En règle générale, vous utilisez les sources de données fichier (ou fichiers DSN) pour ajouter une chaîne de connexion, auquel cas le mot clé FILEDSN est utilisé dans la chaîne de connexion, ou stocké dans le registre, auquel cas le mot clé DSN est utilisé. Vous pouvez également utiliser VBA pour spécifier ces propriétés à l’aide d’une chaîne de connexion «sans DSN».

Au fil des années, les pilotes ODBC ont été livrés en trois étapes :

  • Avant 2005, les pilotes ODBC étaient fournis avec les composants d’accès aux données Windows (WDAC), appelés À l’origine Microsoft Data Access Components (MDAC). Ces composants sont encore fournis avec Windows à des fins de compatibilité descendante. Pour plus d’informations, voirComposants Microsoft ou Windows Data Access.

  • Les pilotes ODBC sont livrés avec SNAC pour SQL Server 2005 jusqu’à SQL Server 2012.

  • Après SQL Server 2012, les pilotes ODBC sont livrés individuellement et contiennent une prise en charge des nouvelles fonctionnalités SQL Server.

Pour le nouveau développement, évitez d’utiliser les pilotes ODBC des deux premières phases et utilisez les pilotes ODBC de la troisième phase.

Fournisseur OLE DB

La liaison et incorporation d’objets (OLE DB) est un protocole plus récent que vous utilisez pour connecter une base de données Access à une source de données externes, telle que Microsoft SQL Server. OLE DB ne nécessite pas de DSN et permet également d’accéder à l’ensemble des sources de données ODBC et des pilotes ODBC.

Conseil    En règle générale, vous utilisez la boîte de dialogue Propriétés des liaisons de données pour ajouter une chaîne de connexion OLE DB. Bien qu’Access n’ait aucun moyen d’ouvrir la boîte de dialogue Propriétés des liaisons de données, dans l’Explorateur Windows, vous pouvez créer un fichier. txt vide, choisir le type de fichier. UDL, puis double-cliquer sur le fichier. Une fois que vous avez créé une chaîne de connexion, remplacez le type de fichier par. txt.

Au fil des années, les pilotes OLE DB ont été livrés en trois étapes :

  • Avant 2005, les pilotes OLE DB étaient fournis avec les composants d’accès aux données Windows (WDAC), appelés à l’origine Microsoft Data Access Components (MDAC).

  • Les pilotes OLE DB sont livrés avec SQL Server 2005 jusqu’à SQL Server 2017. Ils ont été déconseillés en 2011.

  • Dans 2017, le fournisseur Server SQL OLE DB a été supprimé.

La version actuellement recommandée pour le développement de nouvelles solutions est le pilote OLE DB 18 pour SQL Server.

Optimiser les performances avec une chaîne de connexion ODBC

Pour optimiser les performances, réduire le trafic réseau et réduire l’accès multi-utilisateur à la base de données SQL Server, utilisez le moins de chaînes de connexion possible en partageant des chaînes de connexion sur plusieurs ensembles d’enregistrements. Bien que l’ACE passe simplement sur une chaîne de connexion au serveur, elle comprend et utilise les mots clés suivants : DSN, DATABASE, UID, PWD et DRIVER pour réduire les communications client/serveur.

Remarque    Si vous perdez une connexion ODBC à une source de données externe, Access tente de se reconnecter automatiquement. Si la nouvelle tentative réussit, vous pouvez continuer à travailler. Si la nouvelle tentative échoue, vous pouvez continuer à utiliser des objets qui ne dépendent pas de la connexion. Pour vous reconnecter, fermez et rouvrez Access.

Recommandations pour l’utilisation de ODBC et OLE DB

Évitez de mélanger les chaînes de connexion et les technologies d’accès aux bases de données. Utilisez une chaîne de connexion ODBC pour DAO. Utilisez une chaîne de connexion OLE DB pour ADO. Si votre application contient du code VBA qui utilise DAO et ADO, utilisez le pilote ODBC pour DAO et le fournisseur OLE DB pour ADO. Efforcez-vous d’obtenir la dernière fonctionnalité et la prise en charge respectivement pour ODBC et OLEDB.

ODBC utilise le terme «pilote» et «OLE DB» utilise le terme «fournisseur». Les termes décrivent le même type de composant logiciel, mais ne sont pas interchangeables dans la syntaxe de chaîne de connexion. Utilisez la valeur correcte comme indiqué.

Haut de page

Interface par programme vers SQL Server à partir d’Access

Il existe deux façons principales d’interformer par programme sur une base de données SQL Server à partir d’Access.

DAO

Un objet d’accès aux données (DAO) fournissent une interface abstraite à une base de données. Microsoft Data Access Objects (DAO) est le modèle d’objet de programmation natif qui vous permet d’accéder au cœur d’Access et de SQL Server pour créer, supprimer, modifier et répertorier des objets, tables, champs, index, relations, requêtes, propriétés et bases de données externes.

Pour plus d’informations, voir référence des objets d’accès aux données Microsoft.

ADO

Les objets ADO (ActiveX Data Objects) fournissent un modèle de programmation de haut niveau qui est disponible dans Access par une référence à une bibliothèque tierce. ADO est facile à découvrir et permet aux applications clientes d’accéder aux données et de les manipuler à partir de diverses sources, y compris Access et SQL Server. Ses principaux avantages sont sa facilité d’utilisation, rapidité, faible surcharge de mémoire et un faible encombrement sur le disque. ADO prend également en charge les principales fonctionnalités de création et d’application Web.

Pour plus d’informations, voir référence des objets de données Microsoft ActiveXet objets de données Microsoft ActiveX (ADO).

Lequel devez-vous choisir ?

Dans une solution Access qui utilise du code VBA, vous pouvez utiliser DAO, ADO ou les deux comme technologie d’interface de base de données. DAO continue d’être utilisé par défaut dans Access. Par exemple, tous les formulaires, rapports et requêtes Access utilisent DAO. Cependant, lorsque vous migrez vers SQL Server, envisagez d’utiliser ADO pour optimiser l’efficacité de votre solution. Voici des instructions générales pour vous aider à déterminer quand utiliser DAO ou ADO.

Utilisez DAO lorsque vous souhaitez :

  • Créez un formulaire lié en lecture/écriture sans utiliser VBA.

  • Tableau de requêtes locales.

  • Télécharger des données dans des tableaux temporaires.

  • Utiliser des requêtes directes comme sources de données pour les rapports ou formulaires en mode lecture seule.

  • Définir et utiliser un objet TableDef ou Querydef dans VBA.

Utilisez ADO lorsque vous souhaitez :

  • Tirer parti d’autres méthodes pour optimiser, telles que l’exécution d’opérations asynchrones.

  • Exécuter des requêtes DDL et DML directes.

  • Accéder aux données SQL Server directement par le biais de recordsets dans VBA.

  • Écrire du code plus simple pour certaines tâches, telles que la diffusion en continu d’objets BLOB.

  • Appeler directement une procédure stockée, avec des paramètres à l’aide d’un objet Command dans VBA.

Haut de page

Résumé des versions de pilotes ODBC

Le tableau suivant résume les informations importantes concernant les versions de pilotes ODBC, les emplacements de téléchargement et la prise en charge des fonctionnalités. Veillez à utiliser la version d’octet correcte (64 bits ou 32 bits) du pilote basée sur Windows et non sur Office. Si vous exécutez l’accès 32 bits sur 64 bits Windows, installez les pilotes 64 bits, qui incluent les composants 32 bits nécessaires pour Access.

Pour plus d’informations, voirUtilisation de mots clés de chaîne de connexion avec le client natif SQL Server,notes de publication pour ODBC à SQL Server sur Windows (v17), et fonctionnalités du pilote Microsoft ODBC Driver pour SQL Server sur Windows (V13, 11).

Pilotes ODBC

Version

Télécharger

Nouvelles fonctionnalités

Pilotes ODBC 17.0 à 17.3

SQL Server 2017

Télécharger

Pilote ODBC 17.3

Utilisation d’Azure Active Directory avec le pilote ODBC

Limites du pilote ODBC lors de l’utilisation du chiffrement Toujours chiffré

Utilisation de transactions XA

Pilote ODBC 17.2

Utilisation du chiffrement toujours chiffré avec le pilote ODBC pour SQL Server

Classification des données

Codage et prise en charge du codage UTF-8 sur le serveur

Pilote ODBC 17.1

Utilisation du chiffrement toujours chiffré avec le pilote ODBC pour SQL Server

Pilote ODBC 17.0

Toujours chiffré

UseFMTONLY    Pour utiliser des métadonnées héritées dans des cas spéciaux nécessitant des tableaux Temp. Voirles notes de publication pour ODBC vers SQL Server sur Windows

Différences lors de l’utilisation d’une instance gérée (ODBC version 17)

Pilote ODBC 13.1

SQL Server 2016 SP1, SQL Azure

Télécharger

Toujours chiffré

Azure Active Directory

Groupes de disponibilité AlwaysOn

Regroupement des connexions compatibles avec les pilotes dans le pilote ODBC pour SQL Server

Pilote ODBC 13.0

SQL Server 2016

Télécharger

Nom de domaine internationalisé (IDN)

Pilote ODBC 11.0

SQL Server 2005 à 2012

Télécharger

Regroupement de connexion compatible avec les pilotes

Résilience de connexion dans le pilote ODBC Windows

Exécution asynchrone

Noms de principaux de service (SPN) dans les connexions client (ODBC)

Fonctionnalités du pilote Microsoft ODBC pour SQL Server sur Windows

Haut de page

Résumé des versions du fournisseur OLE DB

Le tableau suivant résume les informations importantes concernant les versions de pilotes OLE DB, les emplacements de téléchargement et la prise en charge des fonctionnalités. Veillez à utiliser la version d’octet correcte (64 bits ou 32 bits) du pilote basée sur Windows et non sur Office. Si vous exécutez l’accès 32 bits sur 64 bits Windows, installez les pilotes 64 bits, qui incluent les composants 32 bits nécessaires pour Access.

Pour plus d’informations, voirutilisation de mots clés de chaîne de connexion avec le client natif SQL Server.

Fournisseur OLE DB

Version

Télécharger

Nouvelles fonctionnalités

OLE DB Driver 18.2.1

(MSOLEDBSQL)

SQL Server 2017

Télécharger

Voir les fonctionnalités pilote OLE DB pour SQL Server etles notes de publication du pilote Microsoft OLE DB pour SQL Server

SQL Server Native Client (SQLNCLI)

SQL Server 2005 à 2012

Déconseillé, ne l’utilisez pas

Pilote OLE DB (SQLOLEDB)

Déconseillé, ne l’utilisez pas

Haut de page

Résumé des mots clés ODBC

Le tableau suivant récapitule les mots clés ODBC reconnus par SQL Server et leur finalité. Seul un sous-ensemble est reconnu par Access.

Mot clé

Description

Addr

Adresse réseau du serveur exécutant une instance de SQL Server.

AnsiNPW

Spécifie l’utilisation de comportements définis par ANSI pour la gestion des comparaisons NULL, des remplissages de données de caractères, des avertissements et de la concaténation NULL (oui ou non).

APP

Nom de l’application ayant appelé SQLDriverConnect.

ApplicationIntent

Déclare le type de charge de travail de l’application lors de la connexion à un serveur (ReadOnly ou ReadWrite).

AttachDBFileName

Nom du fichier principal d’une base de données pouvant être jointe.

AutoTranslate

Indique si des chaînes de caractères ANSI sont envoyées entre le client ou le serveur, ou converties en Unicode (oui ou non).

Database

Nom de la base de données. Description Objectif de la connexion. Pilote Nom du pilote tel qu’il a été renvoyé par SQLDrivers.

DSN

Nom d’une source de données système ou utilisateur ODBC existante. Chiffrer Indique si les données doivent être chiffrées avant d’être envoyées sur le réseau (Oui ou Non).

Failover_Partner

Nom du serveur partenaire de basculement à utiliser si une connexion ne peut pas être établie avec le serveur principal.

FailoverPartnerSPN

SPN du partenaire de basculement.

PCL

Mot clé déconseillé.

FileDSN

Nom d’une source de données fichiers ODBC existante. Langue Langage SQL Server.

MARS_Connection

Spécifie plusieurs ensembles de résultats actifs (MARS) sur la connexion pour SQL Server 2005 (9. x) ou version ultérieure (oui ou non).

MultiSubnetFailover

Indique si la connexion à l’écouteur du groupe de disponibilité d’un groupe de disponibilité SQL Server ou d’une instance de cluster avec basculement (oui ou non).

Net

dbnmpntw indique canaux nommés et dbmssocn indique TCP/IP.

PWD

Mot de passe de connexion SQL Server.

QueryLog_On

Indique la journalisation des requêtes d’exécution longue (oui ou non).

QueryLogFile

Chemin d’accès complet et nom de fichier d’un fichier à utiliser pour consigner les données sur les requêtes à long terme.

QueryLogTime

Chaîne de caractères de chiffre indiquant le seuil (en millisecondes) de journalisation des requêtes de longue durée.

QuotedId

Indique si SQL Server utilise les règles ISO relatives à l’utilisation de guillemets dans les instructions SQL (oui ou non).

Régional

Indique si le pilote ODBC du client SQL Server natif utilise les paramètres de client lors de la conversion de données monétaires, de date ou d’heure en données de type caractère (oui ou non).

SaveFile

Nom d’un fichier source de données ODBC dans lequel les attributs de la connexion active sont enregistrés si la connexion réussit.

Serveur

Nom d’une instance SQL Server : Serveur sur le réseau, adresse IP ou alias Configuration Manager.

ServerSPN

SPN du serveur.

StatsLog_On

Active la capture des données de performance du pilote ODBC du client natif SQL Server.

StatsLogFile

Chemin d’accès complet et nom d’un fichier utilisé pour enregistrer les statistiques de performances du pilote ODBC du client SQL Server natif.

Trusted_Connection

Indique si le mode d’authentification Windows ou le nom d’utilisateur ou le mot de passe SQL Server est utilisé pour la validation de la connexion (oui ou non).

TrustServerCertificate

Utilisé avec le chiffrement, permet d’activer le chiffrement à l’aide d’un certificat de serveur auto-signé.

UID

Nom de connexion SQL Server.

UseProcForPrepare

Mot clé déconseillé.

WSID

Identificateur de station de travail, nom réseau de l’ordinateur sur lequel réside l’application.

Haut de page

Résumé des mots clés OLE DB

Le tableau suivant récapitule les mots clés OLE DB reconnus par SQL Server et leur finalité. Seul un sous-ensemble est reconnu par Access.

Mot clé

Description

Addr

Adresse réseau du serveur exécutant une instance de SQL Server.

APP

Chaîne identifiant l’application.

ApplicationIntent

Déclare le type de charge de travail de l’application lors de la connexion à un serveur (ReadOnly ou ReadWrite).

AttachDBFileName

Nom du fichier principal d’une base de données pouvant être jointe.

AutoTranslate

Configure la conversion de caractères OEM/ANSI (true ou false).

Délai de connexion

Durée (en secondes) d’attente d’exécution de l’initialisation de la source de données.

Langue actuelle

Nom du langage SQL Server.

Source de données

Nom d’une instance de SQL Server dans l’organisation.

Database

Nom de la base de données.

DataTypeCompatibility

Nombre indiquant le mode de gestion des types de données qui sera utilisé.

Chiffrer

Indique si les données doivent être chiffrées avant d’être envoyées sur le réseau (Oui ou Non).

FailoverPartner

Nom du serveur de basculement utilisé pour la mise en miroir de la base de données.

FailoverPartnerSPN

SPN du partenaire de basculement.

Catalogue initial

Nom de la base de données.

Nom de fichier initial

Nom du fichier principal (y compris le nom du chemin d’accès complet) d’une base de données pouvant être jointe.

Sécurité intégrée

Utilisé pour l’authentification Windows (SSPI).

Langue

Langage SQL Server.

MarsConn

Spécifie plusieurs ensembles de résultats actifs (MARS) sur la connexion pour SQL Server 2005 (9. x) ou version ultérieure (oui ou non).

Net

Bibliothèque réseau utilisée pour établir une connexion à une instance de SQL Server au sein de l’organisation.

Adresse réseau

Adresse réseau du serveur d’une instance de SQL Server dans l’organisation.

PacketSize

Taille de paquet réseau. La valeur par défaut est 4096.

Informations de sécurité persistantes

Indique si la sécurité persistante est activée (true ou false).

PersistSensitive

Indique si la sensibilité persistante est activée (true ou false).

Fournisseur

Pour SQL Server Native Client, ce doit être SQLNCLI11.

PWD

Mot de passe de connexion SQL Server.

Serveur

Nom d’une instance SQL Server : Serveur sur le réseau, adresse IP ou alias Configuration Manager.

ServerSPN

SPN du serveur.

Pause

Durée (en secondes) d’attente d’exécution de l’initialisation de la source de données.

Trusted_Connection

Indique si le mode d’authentification Windows ou le nom d’utilisateur ou le mot de passe SQL Server est utilisé pour la validation de la connexion (oui ou non).

TrustServerCertificate

Indique si un certificat de serveur est validé (vrai ou faux).

UID

Nom de connexion SQL Server.

Utiliser le chiffrement pour les données

Indique si les données doivent être chiffrées avant d’être envoyées sur le réseau (True ou False).

UseProcForPrepare

Mot clé déconseillé.

WSID

Identificateur de station de travail, nom réseau de l’ordinateur sur lequel réside l’application.

Haut de page

Gérer les sources de données ODBC

gérer les tableaux liés

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.