次の方法で共有


ドライバー アーキテクチャ

ドライバー アーキテクチャは、SQL ステートメントを処理するソフトウェアに応じて、次の 2 つのカテゴリに分類されます。

  • ファイルベース ドライバー ドライバーは、物理データに直接アクセスします。 この場合、ドライバーはドライバーとデータ ソースの両方として機能します。つまり、ODBC 呼び出しと SQL ステートメントを処理します。 たとえば、dBASE ドライバーはファイル ベースのドライバーです。dBASE には、ドライバーで使用できるスタンドアロン データベース エンジンが用意されていないためです。 ファイル ベースのドライバーの開発者は、独自のデータベース エンジンを記述する必要があることに注意してください。

  • DBMS-Based ドライバー ドライバーは、別のデータベース エンジンを介して物理データにアクセスします。 この場合、ドライバーは ODBC 呼び出しのみを処理します。SQL ステートメントをデータベース エンジンに渡して処理します。 たとえば、Oracle ドライバーは DBMS ベースのドライバーです。Oracle には、ドライバーが使用するスタンドアロン データベース エンジンがあるためです。 データベース エンジンが存在する場所は重要ではありません。 ドライバーと同じコンピューター上に配置することも、ネットワーク上の別のマシンに配置することもできます。ゲートウェイを介してアクセスされる場合もあります。

ドライバー アーキテクチャは、一般的にドライバー ライターにのみ興味深いものです。つまり、ドライバー アーキテクチャは通常、アプリケーションに違いはありません。 ただし、アーキテクチャは、アプリケーションで DBMS 固有の SQL を使用できるかどうかに影響を与える可能性があります。 たとえば、Microsoft Access はスタンドアロン データベース エンジンを提供します。 Microsoft Access ドライバーが DBMS ベースの場合、このエンジンを介してデータにアクセスします。アプリケーションは、処理のために Microsoft Access-SQL ステートメントをエンジンに渡すことができます。

ただし、ドライバーがファイル ベースの場合 (つまり、Microsoft Access .mdb ファイルに直接アクセスする独自のエンジンが含まれています。Microsoft Access 固有の SQL ステートメントをエンジンに渡そうとすると、構文エラーが発生する可能性があります。 その理由は、独自のエンジンが ODBC SQL のみを実装する可能性が高いということです。

このセクションでは、次のトピックを扱います。