Использовать DAO или ODBC?
![]() |
---|
Что касается Visual C++ .NET, то среда и мастера Visual C++ больше не поддерживают DAO (хотя классы DAO включены и вы по-прежнему можете их использовать).Майкрософт рекомендует использовать для новых проектов шаблоны OLE DB или ODBC.DAO необходимо использовать только для поддержки существующих приложений. |
Какой набор классов MFC следует использовать?Это зависит от ваших потребностей.
Используйте классы ODBC только в тех случаях, когда работаете исключительно с источниками данных ODBC, в частности в ситуациях "клиент-сервер", когда классы MFC ODBC обеспечивают более высокую производительность.
Используйте классы DAO, если работаете в первую очередь с базами данных Microsoft Jet (MDB) или базами данных других форматов, чтение которых обработчики баз данных могут выполнять непосредственно.Список этих форматов представлен в разделе Какие базы данных можно подключить к DAO и ODBC?
Подключайте источники данных ODBC посредством классов DAO, если хотите повысить скорость обработчика баз данных Microsoft Jet и обеспечить дополнительную функциональность классов DAO.
Примечание
Для классов DAO требуется дополнительное дисковое пространство.
Классы DAO имеют следующие преимущества.
Более высокая производительность в отдельных случаях, особенно при использовании баз данных Microsoft Jet (MDB).
Совместимость с классами ODBC, а также с Microsoft Access Basic и Microsoft Visual Basic.
Доступ к правилам проверки.
Возможность указания отношений между таблицами.
Расширенная модель доступа к данным с поддержкой языка описания данных DDL и языка обработки данных DML.Дополнительные сведения см. в разделе Описание и обработка баз данных.
В представленной ниже таблице сведены основные отличия, который помогут вам в выборе.
Выбор между классами MFC DAO и ODBC
Возможность |
Классы DAO |
Классы ODBC |
---|---|---|
Доступ к MDB-файлам |
Да |
Да |
Доступ к источникам данных ODBC |
Да |
Да |
Доступность для 16-разрядных приложений |
Нет |
Да |
Доступность для 32-разрядных приложений |
Да |
Да |
Доступность для 64-разрядных приложений |
Нет |
Да |
Сжатие баз данных |
Да |
Нет |
Поддержка обработчиков баз данных |
Обработчик баз данных Microsoft Jet |
Конечный DBMS |
Поддержка DDL |
Да |
Только через прямые вызовы ODBC |
Поддержка DML |
Да |
Да |
Природа реализации MFC |
"Оболочка" основных функций DAO |
Упрощенная абстракция, а не "оболочка" API-интерфейса ODBC |
Оптимально для |
MDB-файлов (Microsoft Access) |
Любых DBMS, для которых имеется драйвер, особенно в ситуации "клиент-сервер" |
Поддержка транзакций |
По каждому решению или по данным ODBC, по базе данных |
По базе данных |
Необходимо помнить, что возможности драйверов ODBC отличаются.Подробности см. в разделе ODBC Справочник программиста и файле справки драйвера ODBC.