ODBC概説

PC等からネットワークを介してDBMSを使用するクライアント・アプリケーションを 開発する場合、クライアント・マシンとDBMSサーバマシン間の通信を行う機能を 自ら開発するのが、最も基本的な方法と言える。しかし、信頼性と効率性を併せて 実現するネットワーク・プログラミングを行うには相応の技術が必要であり、 それはDB操作や開発とは別の問題であることから、クライアント−サーバ間の 通信がパッケージ化された製品として提供されることが望まれた。

ミドルウェアとは、以上のような製品の呼称であり、DBMSベンダーが提供するものや 第3者により提供されるものがある。Net8とは、Oracleサーバとクライアント間の 通信機能を提供するミドルウェアであり、Oracle社が提供するものである。

ミドルウェアは、クライアント・アプリケーション側にDBを操作するための API(Application Programing Interface)を提供する。開発者、あるいはDBユーザは このAPIを用いて、複雑な通信機能を気にすること無く、DBを操作するクライアント・ アプリケーションを作成できる。

しかし、ミドルウェアにより提供されるAPIは製品毎に異なるので、DBMS製品毎、 あるいはミドルウェア製品毎に、異なるAPIに習熟する必要があった。 異なるDBMSで全体が構成される分散DB環境では(今日では普通の環境であるが)、 開発コストがかさむ問題が依然として残された。

こうした状況を解決する手段として、Microsoft社はWindows上で稼動する アプリケーションが、DBMSに同じAPIでアクセスするためのSQL共通言語インタフェース を採用し、ODBC(Open Database Conectivity)と名付けた。ODBCは、Windows上で 稼動するクライアント・アプリケーションを開発する者に、共通のAPIを提供する とともに、多くのビジネスアプリケーションが、標準でDBMSへのアクセス機能を 有する現状を生み出すのに貢献した。

但し、ODBCによるDBMSアクセスは、ODBCのSQL共通言語インタフェースから、 製品毎に独自のSQL言語インタフェースへの変換処理を含むため、 製品別ミドルウェアが提供するAPIを利用する場合と比べて、効率が低下する。 よって、現在では、効率性が要求されるシステムにおいてはミドルウェア独自の APIを使用し、小規模な開発やDBユーザが必要に応じて作成するアプリケーション においてはODBCを使用するといった、使い分けがなされている。

図1 本学のOracleへのアクセス環境