ODBC、OLEDB、ADO

歴史

ODBC → OLEDB → ADO
という進化
新しい技術は過去の技術を内包している
内部的には古い技術を用いている
odbc_oledb_ado

ODBC

Open Database Connectivity
DB接続用コンポーネント
・ SQLServer
・ Oracle
等のDBMSだけでなく、
・ MicrosoftACCESS
・ CSV
等へも共通の記述で接続できる。
各リソースにおけるODBCドライバは各ベンダーが開発したものを公開している。
データベース等をインストールすると自動でODBCドライバーがインストールされる場合も多い
Java系:JDBC
MS系:ODBC

ODBCデータソースアドミニストレータ

Windowsの場合、ODBCドライバーをデータソースとして登録し、プログラムから参照できる
ODBCデータソースアドミニストレータは32bit/64bitがあり、
それぞれ32bit/64bitのODBCドライバーを登録する。
なおODBCドライバーを利用するアプリケーションの32bit/64bitに合わせたドライバー及びデータソース登録が必要
odbc1
「システムDSN」タブで登録を行う。
odbc2

接続文字列

データソース登録時(ODBCドライバーは必要)
Dsn=(登録名);
UID=myuser;
PWD=mypass;
データソース未登録時(ODBCドライバーは必要)
Driver={~};
UID=myuser;
PWD=mypass;

OLEDB

DB接続用コンポーネント
COM
ODBCの後続技術
ODBC同様、各リソースにおけるソフトウェアは各ベンダーが開発したものを公開している。

OLEDBではプロバイダと呼ばれるサービスとしてデータを仲介する
DBMS
↑↓
プロパイダ
↑↓
クライアント
OLEDB利用時の接続文字列
Provider=~;
Data Source=MyServer;
User ID=myuser;
Password=mypass

ADO

ActiveX Data Objects
データベースアクセスの為のソフトウェアコンポーネント
「OLE DB」をActiveXコントロールの形で使用できる
VB、VBA、VBScript、他言語から共通の方法でDBへアクセスできる