Lepiej użyć DAO czy ODBC?

[!UWAGA]

Począwszy od programu Visual C++ .NET środowiska Visual C++ i kreatorów już obsługiwać DAO (choć znajdują się klasy DAO i nadal można używać).Firma Microsoft zaleca używać szablonów OLE DB lub ODBC dla nowych projektów.W utrzymaniu istniejących aplikacji należy używać tylko obiektów DAO.

Który zestaw klas MFC należy użyć?To zależy od potrzeb:

  • Jeśli pracujesz w ściśle ze źródłami danych ODBC, szczególnie w sytuacjach klient/serwer, gdzie klas MFC ODBC zapewniają lepszą wydajność, należy skorzystać z klas ODBC.

  • Jeśli pracujesz przede wszystkim z bazy danych Microsoft Jet (.mdb) lub z innych formatów baz danych, których aparat bazy danych Microsoft Jet może odczytywać bezpośrednio za pomocą klas obiektów DAO.Aby uzyskać listę tych zobacz co baz danych może, uzyskać dostęp do obiektów DAO i ODBC?

  • Dostęp do źródła danych ODBC za pośrednictwem klas obiektów DAO, gdy chcesz szybkość aparatu bazy danych Microsoft Jet i dodatkowe funkcje klasy DAO.

    [!UWAGA]

    DAO wymaga dodatkowego miejsca na dysku.

Klasy DAO mają następujące zalety:

  • Lepszą wydajność w niektórych przypadkach, szczególnie w przypadku, gdy korzystanie z baz danych Microsoft Jet (MDB).

  • Zgodność z klas ODBC i Microsoft Access Basic i Microsoft Visual Basic.

  • Do sterowania dostępem do reguł sprawdzania poprawności.

  • Możliwość określania relacji między tabelami.

  • Bogatsze dostępu do modelu danych, dzięki obsłudze języka definicji danych (DDL) i języka DML (Data Manipulation).Aby uzyskać więcej informacji, zobacz Definicja bazy danych i manipulowania nimi.

W następującej tabeli podsumowano zasadnicze różnice, aby pomóc w wyborze.

Wybieranie między MFC DAO i klasy ODBC

Czy mogę

W przypadku klas obiektów DAO?

W przypadku klas ODBC?

Dostęp.Pliki MDB

Tak

Tak

Dostęp do źródła danych ODBC

Tak

Tak

Dostępne dla 16-bitowych

Nie

Tak

Dostępne dla 32-bitowych

Tak

Tak

Dostępne dla 64-bitowych

Nie

Tak

Kompaktowanie bazy danych

Tak

Nie

Obsługa aparatu bazy danych

Aparat bazy danych Microsoft Jet

Docelowy adres DBMS

Obsługa DDL

Tak

Tylko za pośrednictwem bezpośrednich połączeń ODBC

Obsługa DML

Tak

Tak

Rodzaj wykonania MFC

"Opakowanie" funkcji podstawowych obiektów DAO

Abstrakcja uproszczone, a nie "otoki" interfejsu API ODBC

Optymalne dla

pliki .mdb (program Microsoft Access)

Wszelkie DBMS, dla którego masz sterownik, szczególnie w sytuacjach klient/serwer

Obsługa transakcji

Na rozwiązanie lub dla danych ODBC dla bazy danych

Na bazę danych

Należy pamiętać, że możliwości sterowników ODBC różnią się.Aby uzyskać więcej informacji, zobacz temat Microsoft ODBC Programmer's Reference i plik pomocy sterownika ODBC.

Zobacz też

Inne zasoby

Często zadawane pytania dotyczące dostępu do danych