Condividi tramite


È preferibile utilizzare DAO o ODBC?

Aggiornamento: novembre 2007

Nota:

A partire da Visual C++ .NET, l'ambiente e le procedure guidate di Visual C++ non supportano più DAO, anche se le classi DAO sono incluse e possono essere comunque utilizzate. Si consiglia di utilizzare i modelli OLE DB o ODBC per i nuovi progetti e di utilizzare DAO solo per la gestione delle applicazioni già esistenti.

Il gruppo di classi MFC più opportuno da utilizzare dipende dalle necessità specifiche:

  • Optare per le classi ODBC se si utilizzano sempre origini dati ODBC, specialmente in ambienti client/server in cui le classi ODBC MFC garantiscono prestazioni migliori.

  • Optare per le classi DAO se si utilizzano principalmente database Microsoft Jet (estensione mdb) o altri formati di database che il modulo di gestione di database Microsoft Jet è in grado di leggere direttamente. Per un elenco di questi formati, vedere Quali origini dati sono accessibili con DAO e quali con ODBC?

  • Accedere alle origini dati ODBC tramite le classi DAO quando si desidera avvalersi della velocità garantita dal modulo di gestione di database Microsoft Jet e delle funzionalità supplementari delle classi DAO.

    Nota:

    DAO richiede spazio aggiuntivo su disco.

Le classi DAO presentano i seguenti vantaggi:

  • Migliori prestazioni in alcuni casi, in particolare quando si utilizzano database Microsoft Jet con estensione mdb.

  • Compatibilità con le classi ODBC e con Microsoft Access Basic e Microsoft Visual Basic.

  • Accesso alle regole di convalida.

  • Possibilità di specificare relazioni tra tabelle.

  • Un modello di accesso ai dati più completo, con supporto dei linguaggi DDL (Data Definition Language) e DML (Data Manipulation Language). Per ulteriori informazioni, vedere Definizione e gestione di database.

Nella tabella riportata di seguito sono riepilogate le differenze chiave per agevolare la scelta.

Scelta tra le classi ODBC e DAO MFC

Risultato da ottenere

Disponibile con le classi DAO

Disponibile con le classi ODBC

Accesso a file MDB

Accesso a origini dati ODBC

Disponibilità per 16 bit

No

Disponibilità per 32 bit

Disponibilità per 64 bit

No

Compressione di database

No

Supporto di un modulo di gestione di database

Modulo di gestione di database Microsoft Jet

DBMS di destinazione

Supporto DDL

Solo tramite chiamate ODBC dirette

Supporto DML

Implementazione MFC

Come "wrapper" delle funzioni DAO principali

Come astrazione semplificata anziché "wrapper" dell'API ODBC

Utilizzo ottimale

Con file MDB (Microsoft Access)

Con qualsiasi DBMS per il quale si disponga di un driver, specialmente in ambienti client/server

Supporto delle transazioni

Per soluzione o per database nel caso di dati ODBC

Per database

Tenere presente che ogni driver ODBC ha capacità diverse. Per ulteriori informazioni, vedere ODBC Programmer's Reference (informazioni in lingua inglese) e il file della Guida del driver ODBC in uso.

Vedere anche

Altre risorse

Domande frequenti relative all'accesso ai dati