Архитектура драйверов для баз данных на настольном компьютере

Эти драйверы предназначены для использования в Microsoft Windows 95 или более поздней версии либо Windows NT 4.0 и Windows 2000. В Windows 95 или более поздней версии поддерживаются только 32-разрядные приложения; 16-разрядные и 32-разрядные приложения поддерживаются в Windows NT 4.0 и Windows 2000.

Примечание

Сведения о версии ODBC для использования с этими драйверами см. в справочнике по программированию ODBC, а также в заметках о прошлых и текущих выпусках. За исключением указанных областей, эти драйверы соответствуют справочнику по программированию ODBC.

Драйверы классических баз данных ODBC включают 32-разрядные драйверы для Microsoft Access, dBASE, Microsoft Excel, Paradox и Text. 16-разрядные драйверы не включены. (Драйвер для Microsoft FoxPro доступен отдельно.)

Архитектура приложения или драйвера в Windows 95 или более поздней версии:

Архитектура приложений и драйверов: Windows 95 и более поздние версии

Использование этих драйверов 16-разрядными приложениями в Windows 95 не поддерживается.

Архитектура приложения и драйвера в Windows NT 4.0 и Windows 2000:

Архитектура приложений и драйверов: NT 4.0 и Windows 2000

Драйверы классических баз данных являются двухуровневые драйверы. В двухуровневой конфигурации драйвер не выполняет процесс анализа, проверки, оптимизации и выполнения запроса. Вместо этого Microsoft Jet выполняет эти задачи. Он обрабатывает вызовы API ODBC и выступает в качестве подсистемы SQL. Microsoft Jet стала неотъемлемой, неотъемлемой частью драйверов: она поставляется с драйверами и находится вместе с драйверами, даже если ни в одном другом приложении на компьютере не используется.

Драйверы базы данных для настольных компьютеров состоят из шести разных драйверов или, точнее, одного файла драйвера (Odbcjt32.dll), который диспетчер драйверов ODBC использует шестью разными способами. Флаг DRIVERID в записи реестра для источника данных определяет, какой драйвер в Odbcjt32.dll использует диспетчер драйверов. Приложение передает этот флаг в строка подключения, включенном в вызов SQLDriverConnect. По умолчанию флагом является идентификатор драйвера Microsoft Access.

Файл установки драйвера изменяет флаг DRIVERID во время установки. Все драйверы, кроме драйвера Microsoft Access, имеют связанную библиотеку DLL установки. Если щелкнуть Программа установки в администраторе источника данных Microsoft ODBC для источника данных, библиотека DLL установщика ODBC (Odbcinst.dll) загружает библиотеку DLL установки. Библиотека DLL установки экспортирует функцию установщика ODBC SQLConfigDataSource. Если дескриптор окна передается в SQLConfigDataSource, эта функция отображает окно установки и изменяет флаг DRIVERID в соответствии с драйвером, выбранным в пользовательском интерфейсе.

При программном создании файла дескриптор окна NULL передается в SQLConfigDataSource, а функция динамически создает источник данных, изменяя флаг DRIVERID в соответствии с аргументом lpszDriver в вызове функции.

Odbcjt32.dll реализует функции ODBC поверх API Microsoft Jet. Однако прямое сопоставление между функциями ODBC и Microsoft Jet отсутствует. Многие факторы, такие как модели курсоров и сопоставление SQL, препятствуют прямой корреляции функций.

Драйвер ODBC находится между двигателем Microsoft Jet и диспетчером драйверов ODBC. Некоторые функции ODBC, вызываемые приложением, обрабатываются диспетчером драйверов и не передаются драйверу. Для этих функций Microsoft Jet никогда не видит вызов функции, так как у нее нет прямого подключения к диспетчеру драйверов.