次の方法で共有


デスクトップ データベース ドライバーのアーキテクチャ

これらのドライバーは、Microsoft Windows 95 以降、または Windows NT 4.0 および Windows 2000 で使用するように設計されています。 Windows 95 以降では、32 ビット アプリケーションのみがサポートされています。16 ビットおよび 32 ビットアプリケーションは、Windows NT 4.0 および Windows 2000 でサポートされています。

注意

これらのドライバーで使用する ODBC のバージョンについては、 ODBC プログラマー リファレンス、および過去および現在のリリース ノートを参照してください。 これらのドライバーは、特に記載されている領域を除き、 ODBC プログラマー リファレンスに準拠しています。

ODBC デスクトップ データベース ドライバーには、Microsoft Access、dBASE、Microsoft Excel、Paradox、Text 用の 32 ビット ドライバーが含まれています。 16 ビット ドライバーは含まれません。 (Microsoft FoxPro のドライバーは個別に使用できます)。

Windows 95 以降のアプリケーション/ドライバー アーキテクチャは次のとおりです。

アプリ/ドライバー アーキテクチャ: Windows 95 以降

Windows 95 上の 16 ビット アプリケーションによるこれらのドライバーの使用はサポートされていません。

Windows NT 4.0 および Windows 2000 のアプリケーション/ドライバー アーキテクチャは次のとおりです。

アプリ/ドライバー アーキテクチャ: NT 4.0 および Windows 2000

デスクトップ データベース ドライバーは、2 層ドライバーです。 2 層構成では、ドライバーはクエリの解析、検証、最適化、実行のプロセスを実行しません。 代わりに、Microsoft Jet はこれらのタスクを実行します。 ODBC API 呼び出しを処理し、SQL エンジンとして機能します。 Microsoft Jet は、ドライバーの不可欠で切り離せない部分になっています。これはドライバーに付属しており、コンピューター上の他のアプリケーションで使用されていない場合でも、ドライバーと共に存在します。

デスクトップ データベース ドライバーは、6 つの異なるドライバーで構成されています。つまり、ODBC ドライバー マネージャー が 6 つの異なる方法で使用する 1 つのドライバー ファイル (Odbcjt32.dll)。 データ ソースのレジストリ エントリの DRIVERID フラグによって、ドライバー マネージャーで使用 Odbcjt32.dll ドライバーが決まります。 アプリケーションは、SQLDriverConnect の呼び出しに含まれる接続文字列でこのフラグを渡します。 既定では、フラグは Microsoft Access ドライバーの ID です。

ドライバー セットアップ ファイルは、セットアップ時に DRIVERID フラグを変更します。 Microsoft Access ドライバーを除くすべてのドライバーには、セットアップ DLL が関連付けられています。 データ ソースの Microsoft ODBC データ ソース アドミニストレーター[セットアップ] をクリックすると、ODBC インストーラー DLL (Odbcinst.dll) によってセットアップ DLL が読み込まれます。 セットアップ DLL は、ODBC インストーラー関数 SQLConfigDataSource をエクスポートします。 ウィンドウ ハンドルが SQLConfigDataSource に渡された場合、この関数はセットアップ ウィンドウを表示し、ユーザー インターフェイスから選択したドライバーに従って DRIVERID フラグを変更します。

プログラムによってファイルが作成されると、NULL ウィンドウ ハンドルが SQLConfigDataSource に渡され、関数によってデータ ソースが動的に作成され、関数呼び出しの lpszDriver 引数に従って DRIVERID フラグが変更されます。

Odbcjt32.dll は、Microsoft Jet API の上に ODBC 関数を実装します。 ただし、ODBC 関数と Microsoft Jet 関数の間には直接マッピングはありません。 カーソル モデルや SQL マッピングなどの多くの要因により、関数の直接的な相関関係が妨げられます。

ODBC ドライバーは、Microsoft Jet エンジンと ODBC ドライバー マネージャーの間に存在します。 アプリケーションによって呼び出される一部の ODBC 関数は、ドライバー マネージャーによって処理され、ドライバーに渡されません。 これらの関数では、ドライバー マネージャーへの直接接続がないため、Microsoft Jet では関数呼び出しが表示されません。