DBMS ベースのドライバー
DBMS ベースのドライバーは、Oracle や SQL Server などのデータ ソースと共に使用され、ドライバーが使用するスタンドアロン データベース エンジンを提供します。 これらのドライバーは、スタンドアロン エンジンを介して物理データにアクセスします。つまり、SQL ステートメントをエンジンに送信し、エンジンから結果を取得します。
DBMS ベースのドライバーは既存のデータベース エンジンを使用するため、通常はファイル ベースのドライバーよりも簡単に記述できます。 ODBC 呼び出しをネイティブ API 呼び出しに変換することで DBMS ベースのドライバーを簡単に実装できますが、これによりドライバーの速度が低下します。 DBMS ベースのドライバーを実装するより良い方法は、基になるデータ ストリーム プロトコルを使用することです。これは通常、ネイティブ API が行うものです。 たとえば、SQL Server ドライバーでは、DB ライブラリ (SQL Server のネイティブ API) ではなく、TDS (SQL Server のデータ ストリーム プロトコル) を使用する必要があります。 この規則の例外は、ODBC がネイティブ API の場合です。 たとえば、Watcom SQL は、アプリケーションと同じコンピューター上に存在し、ドライバーとして直接読み込まれるスタンドアロン エンジンです。
DBMS ベースのドライバーは、データ ソースがサーバーとして機能するクライアント/サーバー構成でクライアントとして機能します。 ほとんどの場合、クライアント (ドライバー) とサーバー (データ ソース) は異なるコンピューターに存在しますが、どちらもマルチタスク オペレーティング システムを実行している同じコンピューター上に存在する可能性があります。 3 つ目の可能性は、ドライバーとデータ ソースの間に配置されるゲートウェイです。 ゲートウェイは、1 つの DBMS が別の DBMS のように見えるソフトウェアの一部です。 たとえば、SQL Server を使用するように作成されたアプリケーションは、Micro Decisionware DB2 ゲートウェイを介して DB2 データにアクセスすることもできます。この製品により、DB2 は SQL Server のようになります。
次の図は、DBMS ベースのドライバーの 3 つの異なる構成を示しています。 最初の構成では、ドライバーとデータ ソースが同じコンピューター上に存在します。 2 つ目は、ドライバーとデータ ソースが異なるマシン上に存在します。 3 つ目は、ドライバーとデータ ソースが異なるマシンに存在し、ゲートウェイがそれらの間に配置され、さらに別のコンピューターに存在します。