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.