Arquitetura do driver
A arquitetura do driver se enquadra em duas categorias, dependendo de qual software processa instruções SQL:
Drivers baseados em arquivo O driver acessa os dados físicos diretamente. Nesse caso, o driver atua como driver e fonte de dados; ou seja, ele processa chamadas ODBC e instruções SQL. Por exemplo, os drivers dBASE são drivers baseados em arquivo porque o dBASE não fornece um mecanismo de banco de dados autônomo que o driver possa usar. É importante observar que os desenvolvedores de drivers baseados em arquivo devem escrever seus próprios mecanismos de banco de dados.
Drivers baseados em DBMS O driver acessa os dados físicos por meio de um mecanismo de banco de dados separado. Nesse caso, o driver processa apenas chamadas ODBC; ele passa instruções SQL para o mecanismo de banco de dados para processamento. Por exemplo, os drivers Oracle são drivers baseados em DBMS porque o Oracle tem um mecanismo de banco de dados autônomo que o driver usa. O local onde o mecanismo de banco de dados reside é irrelevante. Ele pode residir no mesmo computador que o driver ou em um computador diferente na rede; pode até ser acessado por meio de um gateway.
A arquitetura do driver geralmente é interessante apenas para criadores de drivers; ou seja, a arquitetura do driver geralmente não faz diferença para o aplicativo. No entanto, a arquitetura pode afetar se um aplicativo pode usar SQL específico do DBMS. Por exemplo, o Microsoft Access fornece um mecanismo de banco de dados autônomo. Se um driver do Microsoft Access for baseado em DBMS (ele acessa os dados por meio desse mecanismo), o aplicativo poderá passar instruções do Microsoft Access-SQL para o mecanismo para processamento.
No entanto, se o driver for baseado em arquivo (ou seja, se ele contiver um mecanismo proprietário que acessa o arquivo de .mdb do Microsoft Access diretamente), quaisquer tentativas de passar instruções SQL específicas do Microsoft Access para o mecanismo provavelmente resultarão em erros de sintaxe. A razão é que o mecanismo proprietário provavelmente implementará apenas SQL ODBC.
Esta seção contém os tópicos a seguir.