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


Драйверы на основе СУБД

Драйверы на основе СУБД используются с такими источниками данных, как Oracle или SQL Server, которые предоставляют автономный ядро СУБД для используемого драйвера. Эти драйверы получают доступ к физическим данным через автономный механизм; То есть они передают инструкции SQL и извлекают результаты из подсистемы.

Так как драйверы на основе СУБД используют существующий ядро СУБД, они обычно проще писать, чем драйверы на основе файлов. Хотя драйвер на основе СУБД можно легко реализовать путем преобразования вызовов ODBC в собственные вызовы API, это приводит к снижению скорости драйвера. Лучший способ реализации драйвера на основе СУБД — использовать базовый протокол потока данных, который обычно является тем, что делает собственный API. Например, драйвер SQL Server должен использовать TDS (протокол потока данных для SQL Server), а не библиотеку базы данных (собственный API для SQL Server). Исключение из этого правила заключается в том, что ODBC является собственным API. Например, Watcom SQL — это автономный модуль, который находится на том же компьютере, что и приложение, и загружается непосредственно в качестве драйвера.

Драйверы на основе СУБД выполняют роль клиента в конфигурации клиента или сервера, где источник данных выступает в качестве сервера. В большинстве случаев клиент (драйвер) и сервер (источник данных) находятся на разных компьютерах, хотя оба могут находиться на одном компьютере под управлением многозадачной операционной системы. Третья возможность — это шлюз, который находится между драйвером и источником данных. Шлюз — это часть программного обеспечения, которая приводит к тому, что одна СУБД выглядит как другая. Например, приложения, написанные на использование SQL Server, также могут получить доступ к данным DB2 через шлюз Db2 Micro Decisionware DB2; этот продукт приводит к тому, что DB2 будет выглядеть как SQL Server.

На следующем рисунке показаны три различных конфигурации драйверов на основе СУБД. В первой конфигурации драйвер и источник данных находятся на одном компьютере. Во-вторых, драйвер и источник данных находятся на разных компьютерах. В третьем драйвере и источнике данных находятся на разных компьютерах, а шлюз находится между ними, где находится еще один компьютер.

Three configurations for DBMS-based drivers