この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 8122|答える: 0

Database Access Methods (ODBC OLEDB ADO ADO.NET)

[リンクをコピー]
掲載地 2020/08/01 20:41:19 | | | |
ODBC(オープンデータベース接続)

1992年、Microsoft CorporationはWindows Open Services Architecture(WOSA)の不可欠な一部として設立され、データベースアクセスのための仕様セットと標準API(アプリケーションプログラミングインターフェース)を提供しました。 これらのAPIはSQLを活用してほとんどのタスクを達成しています。 ODBC自体もSQL言語をサポートしており、ユーザーは直接ODBCにSQL文を送信できます。 ---最も早いですが、常に全能ではありません。 ODBC(Open DataBase Connectivity)は、Microsoftが推奨し、現在業界で広く受け入れられているデータベースアクセスに広く受け入れられているアプリケーションプログラミングインターフェース(API)です。これはX/OpenおよびISO/IECコールレベルインターフェース(CLI)仕様に基づいており、データベースアクセス言語として構造化クエリ言語(SQL)を使用しています。 ODBCの全体的な構造は4つの要素で構成されています。

A. アプリケーション:処理を実行し、ODBC API関数を呼び出してSQL文を提出し結果を取得する。
B. ドライバーマネージャー:アプリケーションのニーズに応じてドライバーのロード/アンインストール、ODBC関数呼び出しの処理、またはドライバーへの転送を行います。
C. ドライバー:ODBC関数呼び出しを処理し、指定されたデータソースにSQLリクエストを送信し、その結果をアプリケーションに返します。 必要に応じて、ドライバはプログラム要求を該当するDBMSがサポートする構文に合わせるように修正します。
D. データソース:ユーザーおよび関連するオペレーティングシステム、DBMS、DBMSにアクセスするためのネットワークプラットフォームがアクセスするデータを含む。

DAO(データアクセスオブジェクト)

1993年にMicrosoftはMicrosoft Jetデータベースエンジン(元々Microsoft Accessで使用され、現在は他のデータベースもサポート)を導入し、開発者はODBC経由で他のデータベースと同様にAccessテーブルに直接接続できるようになりました。 DAOは単一システムアプリケーションや小規模でローカル分散の利用に最適です。 ジェットデータベースへのアクセスは社内で最適化されており、使いやすいです。 したがって、データベースがAccessデータベースでローカルで使用される場合は、アプリケーションの特性---このアクセス方式を使用することが推奨されます


RDO(リモートデータオブジェクト)


1995年、RDOはODBCのオブジェクト指向データアクセスインターフェースであり、使いやすいDAOスタイルと組み合わせて、ODBCの基盤機能と柔軟性をすべて示すインターフェースを提供しました。 ただし、RDOはJetやISAMデータベースへのアクセスが限られており、既存のODBCドライバを通じてしかリレーショナルデータベースにアクセスできません。 しかし、RDOは多くのSQL Server、Oracle、その他の大規模リレーショナルデータベース開発者にとって最良のインターフェースであることが証明されています。 RDOは、ストアドプロシージャや複雑な結果セットにアクセスするための、ますます複雑なオブジェクト、プロパティ、メソッドを提供しています。 ---間違いなくODBCに基づいています


OLE DB(オブジェクトリンクおよび埋め込み、データベース)


1997年、マイクロソフトは組織全体でデータを管理するための戦略的システムレベルのプログラミングインターフェースを開始しました。 OLE DBはODBC機能の上に構築されたオープン仕様です。 ODBCはリレーショナルデータベースへのアクセス専用に開発され、OLE DBはホストISAM/VSAMや階層データベース、メールやファイルシステムのストレージ、テキスト、グラフ、地理データ、カスタムビジネスオブジェクトなどのリレーショナルおよび非リレーショナル情報ソースへのアクセスに使用されます。
OLE DBは、さまざまなデータベース管理システムサービスをカプセル化し、これらのサービスを実装するためのソフトウェアコンポーネントの作成を可能にする一連のCOMインターフェースを定義しています。 OLE DBのコンポーネントには、データ提供者(データを含み表現する)、データコンシューマー(データを使用)、サービスコンポーネント(クエリプロセッサやカーソルエンジンなどのデータの処理・配信)が含まれます。
OLE DBインターフェースはコンポーネントの円滑な統合を促進し、OLE DBコンポーネントベンダーが高品質なOLE DBコンポーネントを迅速に市場に届けることを可能にします。 さらに、OLE DBにはODBCを接続する「ブリッジ」機能が含まれており、使用中のさまざまなODBCリレーショナルデータベースドライバーに対して一貫したサポートを提供しています。 ---ODBCの代替を謳っていますが、ODBCとも互換性があります

ADO(ActiveXデータオブジェクト)

1996年にADOはDAO/RDOの後継となりました。 ADO 2.0は機能的にRDOにより似ており、一般的に両モデル間のマッピング関係も似ています。 ADOはDAOやRDOで使用されるオブジェクトモデルを「拡張」しており、オブジェクト数は少なく、プロパティ、メソッド(およびパラメータ)、イベントは増加します。 最新のデータベースアクセスモードとして、ADOはシンプルで使いやすいため、Microsoftは今後ADOに注力し、DAO/RDOのアップグレードは行わないことを明確にしており、ADOは現在のデータベース開発の主流となっています。 ADOはDSN(データソース名)、ODBC(オープンデータ接続)、OLE DBの3種類のデータストレージを含みます。 以下のルーティンでは、これら3つの方法の具体的な実装方法を詳しく説明します。 ---、ODBCやOLEDBのようなシステムレベルのプログラミングインターフェースの収束と、DAOやRDOのようなアプリケーションレベルのプログラミングインターフェースのアップグレードと言えます。

ADO.NET

は、データ共有のための分散アプリケーションを作成するために使用できる標準ベースのプログラミングモデルです。 ADO.NET において、DataSetは重要な役割を果たし、データベース内の一部のデータのメモリコピーとして機能します。 ADOのRecordSetとは異なり、DataSetは任意のデータテーブルを含み、それぞれがデータベースのテーブルやビューからデータを表現するために使用できます。 DataSetはメモリ上にあり、元のデータベースに接続されていないため、元のデータベースに接続されたままである必要はありません。 この作業を担う基盤技術はXMLであり、これはDataSetsで使用される保存および転送形式です。 実行時には、DataSet内のデータをビジネスロジックオブジェクトや asp.net ウェブフォームなどのコンポーネント間で交換する必要があります。 データはXMLファイルの形で一つのコンポーネントから別のコンポーネントへ転送され、このファイルはDataSet形式に復元されます。 DataSetアプローチはリレーショナルデータモデルと全く同じです。なぜなら、各データソースのプロトコルが異なり、正しいプロトコルでデータソースにアクセスする必要があるからです。 古いデータソースの一部はODBCプロトコルを使用し、後期のデータソースはOleDbプロトコルを使用しています。現在では、共通のアクセス方法を提供する新しいデータソースがまだ多く ADO.NET 登場しています。また、異なるデータソースごとに異なるライブラリを使用しています。 これらのライブラリはデータプロバイダーと呼ばれ、通常はデータソースの種類やプロトコルの名前が付けられています


ODBC、DAO、ADO、OLEDB データベースの違いと関連性



ODBCは基盤となるアクセス技術であるため、ODBC APIは顧客アプリケーションとしてデータベースをボトムアップで設定・制御し、高度なデータベース技術ができない機能を完成させることができます。 しかし、欠点としてはODBCはリレーショナルデータベースでのみ使用可能であり、ODBCを使ってオブジェクトデータベースやその他の非リレーショナルデータベースにアクセスするのが困難です。
DAOは、手続き型コードを通じてデータベースを作成・操作する仕組みを提供します。 最大の特徴は、MICROSOFT JETデータベースの操作が容易であり、JETデータベースの運用に最適な技術的インターフェースの一つであることです。 そして、このデータベースへのアクセスだけでなく、テキストファイルから大規模なバックグラウンドデータベースまで、DAO技術を通じて幅広いデータ形式にもアクセス可能です。
ADOはOLE DBに基づくアクセスインターフェースであり、OLE DBの利点を引き継ぐオブジェクト指向のOLE DB技術です。 これはデータベースアクセスのための高水準インターフェースです。



ADOとOLEDBの関係

OLEDBは基盤となるデータアクセスインターフェースです。 サードパーティのドライバーや、ADO技術にデータソースを出力するアプリケーションを開発する商人、またはC++の開発者がカスタムデータベースコンポーネントを開発する際に利用されます。
OLE DBはデータアクセスのための重要なシステムレベルのプログラミングインターフェースであり、ADOの基盤技術であり ADO.NET のデータソースです。
ADOはOLE DBに基づくアクセスインターフェースであり、OLE DBの利点を引き継ぐオブジェクト指向のOLE DB技術です。 これはデータベースアクセスのための高水準インターフェースです。

ADOはOLEDB向けの高レベルアプリケーションAPI機能を提供しています。





先の:SSISチュートリアル4:SQLデータをSQL Serverデータベースに同期させる
次に:SSISチュートリアル(3) MySQLデータソースの追加
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com