Herstellen einer Verbindung zu Microsoft Access-Datenbanken (FireDAC)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Datenbankkonnektivität (FireDAC)

In diesem Thema wird beschrieben, wie eine Verbindung zu Microsoft Access-Datenbankdateien hergestellt wird.

Unterstützte Versionen

Der native FireDAC-Treiber unterstützt Datenbanken aus Microsoft Access 95, 97, 2000, 2003, 2007 und 2010.

Windows-Client-Software

Für FireDAC muss einer der x86- oder x64-ODBC-Treiber von Microsoft Access auf dem Arbeitsplatz-Computer installiert sein:

  • "Microsoft Access-Treiber (*.mdb)": x86-ODBC-Treiber, Version 3 oder höher (oft auch als Microsoft JET ODBC-Treiber bezeichnet) für 95-2003-Datenbanken. Siehe Details (EN). Sie können auch einen der alternativen für nicht-englische Sprachen bereitgestellten Treiber verwenden.
  • "Microsoft Access Driver (*.mdb, *.accdb)". x86- und x64-ODBC-Treiber, Version 12 oder höher für 95-2010-Datenbanken. Siehe Details (EN).

Hinweis: Um eine Microsoft Access-x86- oder -x64-Laufzeit auf einem Arbeitsplatz-Computer mit einer bereits installierten Laufzeit einer anderen Architektur zu installieren, geben Sie in der Befehlszeile des Laufzeit-Installationsprogramms "/passive" an. Weil die Delphi-IDE eine x86-Anwendung ist, müssen Sie die x86-Version von Access auf Ihrem Entwicklungs-Computer installieren.

Wenn der Microsoft Access ODBC-Treiber nicht ordnungsgemäß installiert wurde, wird beim Verbindungsversuch eine Exception ausgelöst:

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

Beim Versuch, eine mit einer neueren Access-Version erstellte DB mit einem älteren Access-Treiber zu öffnen, wird eine Exception ausgelöst:

[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.

OS X- und iOS-Client-Software

FireDAC unterstützt keine Microsoft Access-Datenbankverbindungen für Linux, OS X und iOS.

Treibereinbindung

So binden Sie den Treiber ein:

Verbindungsdefinitionsparameter

Für eine Verbindung mit einer Microsoft Access-Datenbank ist für die meisten Anwendungen die Angabe von DriverID und Database erforderlich (Einzelheiten finden Sie unter Definieren von Verbindungen (FireDAC)).

Hinweis: FireDAC unterstützt durch Passwort geschützte Datenbanken, aber die Länge des Passwortes darf 14 Zeichen nicht überschreiten. Bei längeren Passwörtern wird die Exception "Ungültiges Passwort" ausgelöst.

DriverID=MSAcc

Parameter Beschreibung Beispielwert
Database

Der Pfad zur MDB-Datei. Ein Pfad kann Pfadvariablen enthalten.

c:\mydb.mdb
SystemDB

Der Pfad zur Systemdatenbankdatei. Ein Pfad kann Pfadvariablen enthalten.

c:\mysystem.mdb
ReadOnly Geben Sie True an, um die Datenbank schreibgeschützt zu öffnen. False ist der Vorgabewert. True
StringFormat

Definiert, wie String-Werte dargestellt werden sollen:

  • Choose – Darstellung als ftString/ftMemo in Nicht-Unicode-Delphi (D2007 und früher) und als ftWideString/ftWideMemo in Unicode-Delphi (D2009 und höher) (Vorgabe).
  • Unicode – immer als ftWideString oder ftWideMemo.
  • ANSI – immer als ftString/ftMemo.
Unicode
ODBCAdvanced Ermöglicht die Angabe eines beliebigen weiteren ODBC-Verbindungsparameterwertes. Der Vorgabewert ist "ExtendedAnsiSQL=1". IMPLICITCOMMITSYNC=NO

Anwendungsfälle

  • Öffnen der Microsoft Access-Datenbank.


DriverID=MSAcc
Database=c:\mydata.mdb 
  • Öffnen der Microsoft Access-Datenbank unter Verwendung der Systemdatenbank.


DriverID=MSAcc
Database=c:\mydata.mdb
SystemDB=c:\system.mdb
User_Name=usr
Password=pwd
  • Öffnen der durch Passwort geschützten Microsoft Access-Datenbank. Die Länge des Passwortes darf 14 Zeichen nicht überschreiten.


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

Hinweis: Verwenden Sie zum Löschen/Erstellen, Verschlüsseln, Komprimieren und Reparieren der Datenbank die Komponente TADMSAccessUtility.

Siehe auch

Beispiele