Sollte DAO oder ODBC verwendet werden?

HinweisHinweis

Ab Visual C++ .NET wird DAO von der Visual C++-Umgebung und den Assistenten nicht mehr unterstützt. (Die DAO-Klassen sind allerdings weiterhin enthalten und können verwendet werden.)Microsoft empfiehlt für neue Projekte die Verwendung von OLE DB-Vorlagen oder ODBC.DAO sollte lediglich zur Verwaltung bereits bestehender Anwendungen eingesetzt werden.

Welche MFC-Klassentypen sollten verwendet werden?Dies hängt von Ihren Anforderungen ab:

  • ODBC-Klassen sind empfehlenswert, wenn Sie ausschließlich mit ODBC-Datenquellen arbeiten, und zwar insbesondere in Client/Server-Konfigurationen, in denen die MFC-ODBC-Klassen eine bessere Leistung bieten.

  • DAO-Klassen sind ratsam, wenn Sie hauptsächlich mit Microsoft Jet-Datenbanken (.mdb) oder anderen Datenbankformaten arbeiten, die direkt vom Microsoft Jet-Datenbankmodul gelesen werden können.Eine Liste dieser Formate finden Sie unter Auf welche Datenquellen kann mit DAO und ODBC zugegriffen werden?

  • Wenn Sie die Geschwindigkeit des Microsoft Jet-Datenbankmoduls mit der zusätzlichen Funktionalität von DAO-Klassen kombinieren möchten, sollte der Zugriff auf ODBC-Datenquellen über die DAO-Klassen erfolgen.

    HinweisHinweis

    DAO erfordert zusätzlichen Speicherplatz auf der Festplatte.

DAO-Klassen haben folgende Vorteile:

  • In einigen Fällen höhere Leistung, besonders wenn Microsoft Jet-Datenbanken (.mdb) verwendet werden.

  • Kompatibilität mit den ODBC-Klassen sowie mit Microsoft Access Basic und Microsoft Visual Basic.

  • Zugriff auf Validierungsregeln.

  • Die Möglichkeit, Beziehungen zwischen Tabellen festzulegen.

  • Ein leistungsfähigeres Datenzugriffsmodell mit Unterstützung der Datendefinitionssprache (DDL, Data Definition Language) und Datenbearbeitungssprache (DML, Data Manipulation Language).Weitere Informationen finden Sie unter Datenbankdefinition und -bearbeitung.

In der folgenden Tabelle sind die Hauptunterschiede zusammengefasst.

Entscheidung zwischen MFC-DAO- und MFC-ODBC-Klassen

Feature

Mit DAO-Klassen?

Mit ODBC-Klassen?

Zugriff auf MDB-Dateien

Ja

Ja

Zugriff auf ODBC-Datenquellen

Ja

Ja

Für 16 Bit verfügbar

Nein

Ja

Für 32 Bit verfügbar

Ja

Ja

Für 64 Bit verfügbar

Nein

Ja

Datenbankkomprimierung

Ja

Nein

Unterstützung von Datenbankmodulen

Microsoft Jet-Datenbankmodul

Ziel-DBMS

DDL-Unterstützung

Ja

Nur über direkte ODBC-Aufrufe

DML-Unterstützung

Ja

Ja

Art der MFC-Implementierung

"Wrapper" für DAO-Kernfunktionen

Vereinfachte Abstraktion statt eines "Wrappers" für die ODBC-API

Optimal geeignet für

MDB-Dateien (Microsoft Access)

Jedes DBMS, für das Treiber verfügbar sind; insbesondere Client/Server-Konfigurationen

Transaktionsunterstützung

Pro Projekt oder bei ODBC-Daten pro Datenbank

Pro Datenbank

Beachten Sie, dass die Fähigkeiten verschiedener ODBC-Treiber variieren können.Weitere Informationen finden Sie in der ODBC Programmer's Reference und in der Hilfedatei zum ODBC-Treiber.

Siehe auch

Weitere Ressourcen

FAQ (Häufig gestellte Fragen) zum Datenzugriff