[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ODBC

pointこの用語のポイント

pointプログラムとデータベースの間に入って仲立ちをする部品だよ

pointMicrosoftさんが作ったよ

スポンサーリンク

簡単に書くよ

ODBCとは

Microsoftさんが生み出した、データベースとやり取りするための通訳。
もう少し具体的に書くと

Microsoftが生み出した仕組みで、データベースとプログラムの間に入って仲立ちをしてくれる部品(に関する取り決め)
です。

image piyo

詳しく書くよ

Microsoftが生み出したプログラムデータベースの仲立ちをしてくれる奴、言わばデータベースとプログラム間の通訳が「ODBC(オーディービーシー)」です。
Open Database Connectivity(オープン・データベース・コネクティビティ)」を省略して「ODBC」ね。

それでは順番に見ていきましょう。

ピヨ太君の経営するピヨピヨカンパニーの取引先は、個性的な人たちばかりです。

ピヨ太ママは若いころに訪れて以来、イギリスの魅力にやられてしまいました。そのせいか英語でしか喋りません。

ODBC

ピヨ太パパはフランスかぶれです。喋る言葉はフランス語です。

ODBC2

アクマ君は中国好きです。中国語での会話を求めます。

ODBC3

そうすると、ピヨ太君をはじめとしたピヨピヨカンパニーの社員は大変です。
ピヨ太ママと話すときは英語、ピヨ太パパと話すときはフランス語、アクマ君と話すとき中国語、のように使い分けなくてはいけません。

ODBC4

これは面倒だなーと感じたピヨ太君は、スペシャルスーパー通訳のピヨ子さんを雇いました。
ピヨ子さんはスペシャルでスーパーな通訳なので、英語もフランス語も中国語も話すことができます。
しかも!普段話している言葉は日本語です。

ODBC5

その後、ピヨ太君は社員たちに「今後、各取引先とのやり取りはピヨ子さんを経由して行うようにしたから」と宣言しました。
ピヨ太君たちが伝えたい内容を、ピヨ子さんが翻訳して、各取引先に伝えてくれるのです。

ODBC6

これには皆大喜びです。
なんせピヨ子さんは日本語が話せます。
伝えたい内容を日本語でピヨ子さんに伝えれば、各取引に伝わるのです。
日本語が分からない社員も喜びました。
このままでは英語、フランス語、中国語の三か国語を覚えないといけないと思っていたのが、日本語だけを覚えれば良くなりましたからね。

このお話における、ピヨピヨカンパニーの社員たちがプログラム、ピヨ太ママをはじめとした各取引先がデータベース、ピヨ子さんがODBCです。

実際のデータベースにはいろいろな種類があります。
OracleMySQLSQLServer等です。

これらのデータベースはそれぞれ個性があります。
全部が全部、同じようには扱えないのです。
例えばデータベースへの接続方法も、データベースの種類によって変えなくてはいけません。

これはちょっと面倒ですよね?

そこで登場するのがODBCです。

プログラムはODBC経由でデータベースに接続することで、データベース毎の個性を(あまり)気にしなくて良くなります。
それぞれの個性は、通訳であるODBCさんが(ある程度)吸収してくれるのです。

ODBC7

ODBCのメリットは、使う側がデータベースの違いをあまり意識しなくても良い点でしょうか。
逆にデメリットは、使用できるのが汎用的な機能に限定されるので、データベース固有のテクニックを使いたいときには、哀しい結果になるかもしれません。

ちなみに、説明を分かりやすくするために「データベース」と表現していますが、正確には「リレーショナルデータベースマネージメントシステム(RDBMS)」です。
違いを意識する必要に迫られる機会は、あまり無いと思いますけどね。

なお、ODBC接続を行う際には

1.どの種類の
2.どのデータベースに


接続するかの情報が必要です。
例えば

SQLServerの「test_db」という名前のデータベースに接続する

のような情報ですね。

この情報はあらかじめ用意しておき、識別用の名前(DSN)を付けておきます。
仮に、上記の設定に対して「設定ぴよ」という名前を付けたとしましょう。

プログラムからは「test_db」ではなく「設定ぴよ」という名前を指定する形で、接続するデータベースを指定します。
「設定ぴよ」を指定すれば、SQLServerの「test_db」に接続しに行きますよ。

これがODBCを使った接続の、一般的なやり方です。

1.どの種類のどのデータベースに接続するかを指定する
2.「1.」に名前を付けておく
3.プログラムからは「2.」で決めた名前を指定する形で、接続先のデータベースを指定する


の流れですね。
「1.」「2.」が事前作業で「3.」が実際にプログラムに書く内容です。

ついでの補足として、事前作業の「1.」「2.」は、Windows管理ツールODBC データ ソース アドミニストレーター」で設定します。
併せて覚えてあげてください。

そんなところでしょうか。

image piyo2

一言でまとめるよ

まぁ「ODBC」って単語が出てきたら「Microsoftさんが作った、データベースとやり取りするための通訳なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク