Поделиться через


Архитектура драйвера

Архитектура драйвера состоит из двух категорий в зависимости от того, какие инструкции SQL обрабатывают программное обеспечение:

  • Драйверы на основе файлов Драйвер обращается к физическим данным напрямую. В этом случае драйвер выступает как драйвером, так и источником данных; то есть он обрабатывает вызовы ODBC и инструкции SQL. Например, драйверы dBASE — это драйверы на основе файлов, так как dBASE не предоставляет автономный ядро СУБД, который может использовать драйвер. Важно отметить, что разработчики драйверов на основе файлов должны писать собственные ядра СУБД.

  • Драйверы на основе СУБД Драйвер обращается к физическим данным с помощью отдельного ядра СУБД. В этом случае драйвер обрабатывает только вызовы ODBC; Он передает инструкции SQL в ядро СУБД для обработки. Например, драйверы Oracle — это драйверы на основе СУБД, так как Oracle имеет автономный ядро СУБД, который использует драйвер. Где находится ядро СУБД, является нематериальным. Он может находиться на том же компьютере, что и драйвер или другой компьютер в сети; Доступ к нему может осуществляться даже через шлюз.

Архитектура драйвера, как правило, интересна только для записи драйверов; То есть архитектура драйвера обычно не имеет никакой разницы в приложении. Однако архитектура может повлиять на то, может ли приложение использовать SQL, зависящее от СУБД. Например, Microsoft Access предоставляет автономный ядро СУБД. Если драйвер Microsoft Access основан на СУБД, он обращается к данным через этот механизм. Приложение может передавать инструкции Microsoft Access-SQL обработчику для обработки.

Однако если драйвер основан на файлах , то есть он содержит собственный механизм, который обращается к файлу microsoft Access .mdb напрямую- любые попытки передать инструкции SQL для конкретного microsoft Access в подсистему, скорее всего, будут привести к синтаксической ошибке. Причина заключается в том, что собственный модуль, скорее всего, реализует только ODBC SQL.

Этот раздел содержит следующие подразделы.