Архитектура драйвера
Архитектура драйвера состоит из двух категорий в зависимости от того, какие инструкции 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.
Этот раздел содержит следующие подразделы.