Connexion à une base de données Microsoft Access (FireDAC)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Connectivité des bases de données (FireDAC)

Cette rubrique explique comment établir une connexion aux fichiers de bases de données de Microsoft Access.

Versions prises en charge

Le pilote natif FireDAC supporte les bases de données Microsoft Access 95, 97, 2000, 2003, 2007 et 2010.

Logiciel client Windows

FireDAC requiert l'installation de l'un des pilotes ODBC Microsoft Access x86 ou x64 sur la station de travail :

  • "Pilote ODBC Microsoft Access Driver (*.mdb)" x86 version 3 ou ultérieure (souvent appelé pilote ODBC Microsoft JET) pour les bases de données 95 à 2003. Voir les informations détaillées. Vous pouvez également utiliser l'un des pilotes alternatifs fournis pour les autres langues que l'anglais.
  • "Pilote ODBC Microsoft Access Driver (*.mdb, *.accdb)" x86 et x64 version 12 ou ultérieure pour les bases de données 95 à 2010. Voir les informations détaillées.

Remarque : Pour installer un fichier runtime Microsoft Access x86 ou x64 sur une station de travail où un tel fichier existe déjà, mais avec une architecture différente, spécifiez "/passive" dans la ligne de commande de l'installateur de fichier runtime. L'EDI de Delphi étant une application x86, vous devez installer la version Access x86 sur votre station de travail de développement.

Si le pilote ODBC Microsoft Access n'a pas été installé correctement, une exception est déclenchée lorsque vous tentez d'établir une connexion :

[FireDAC][Phys][ODBC][Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified.

Si vous essayez d'ouvrir une base de données créée avec une version plus récente d'Access en utilisant un ancien pilote Access, une exception est déclenchée :

[FireDAC][Phys][ODBC][Microsoft][ODBC Microsoft Access Driver] Cannot open database '(unknown)'. It may not be a database that your application recognizes, or the file may be corrupt.

Logiciels client OS X et iOS

FireDAC ne supporte pas la connexion à une base de données Microsoft Access sur Linux, OS X, et iOS.

Liaison du pilote

Pour lier le pilote :

Paramètres de définition de la connexion

Pour établir une connexion à une base de données Microsoft Access, la plupart des applications vous demandent de spécifier les paramètres DriverID et Database. Pour plus de détails, voir Définition d'une connexion (FireDAC).

Remarque : FireDAC supporte les bases de données protégées par mot de passe, à la condition que le mot de passe comporte un maximum de 14 caractères. Avec un mot de passe plus long, une application déclenche l'exception "Mot de passe non valide".

DriverID=MSAcc

Paramètre Description Valeur exemple
Database

TChemin d'accès au fichier MDB. Un chemin peut inclure des variables relatives au chemin.

c:\mydb.mdb
SystemDB

Chemin d'accès au fichier de base de données système. Un chemin peut inclure des variables relatives au chemin.

c:\mysystem.mdb
ReadOnly Spécifiez True pour ouvrir une base de données en mode lecture seule. False est la valeur par défaut. True
StringFormat

Définit comment représenter les valeurs chaîne (String) :

  • Choose -- représenter en tant que ftString / ftMemo sur Delphi en code non-Unicode (D2007 et antérieur) et ftWideString / ftWideMemo sur Delphi en code Unicode (D2009 et ultérieur) (valeur par défaut).
  • Unicode -- toujours représenter en tant que ftWideString / ftWideMemo.
  • ANSI -- toujours représenter en tant que ftString / ftMemo.
Unicode
ODBCAdvanced Vous permet de spécifier toute autre valeur de paramètre de connexion ODBC. La valeur par défaut est "ExtendedAnsiSQL=1". IMPLICITCOMMITSYNC=NO

Exemples d'utilisation

  • Ouvrir la base de données Microsoft Access :


DriverID=MSAcc
Database=c:\mydata.mdb
  • Ouvrir la base de données Microsoft Access en utilisant la base de données système :


DriverID=MSAcc
Database=c:\mydata.mdb
SystemDB=c:\system.mdb
User_Name=usr
Password=pwd
  • Ouvrir la base de données Microsoft Access protégée par mot de passe : notez que le mot de passe doit comporter un maximum de 14 caractères.


DriverID=MSAcc
Database=c:\mydata.mdb
Password=pwd

Remarque : pour supprimer/créer, crypter, compacter et réparer la base de données, utilisez la composant TADMSAccessUtility.

Voir aussi

Exemples