ミドルウエアの種類と概要
アプリケーションがデータベースを利用するためにはアプリケーションとDBの橋渡しをするモジュールが必要です。 このモジュールをここではミドルウエアと呼んでいます。ORACLE DATABASEにバンドルされているミドルウエアには以下のようなものがあります。
名称 | 対応する主な言語 | 対応するOS | 普及率 | 説明 |
OCI | C言語、C++ | 全て | 中 | ORACLEの最も基本的なミドルウエア。sqlplusを始めとして様々なORACLE製品がOCIを利用しており、機能やオプション設定等は最も多く提供されています。 その反面、他のミドルウエアと比較して実装が最も複雑になる場合が多い。 なお、その他ミドルウエアにおいてもJDBC Thin以外は内部的にOCIライブラリを利用しているためJDBC Thin以外のクライアントは必ずOCIライブラリのインストールは必要になります。 |
OCCI | C++ | 全て | 低 | OCIのC++版。 |
PRO*C | C言語、C++ | 全て | 中 | C言語に対応するプリコンパイラ方式のミドルウエア。 PL/SQLのような実装が可能でOCIと比較すると実装が簡易です。 UNIX系OS上でORACLEを利用するアプリケーションを実装する場合に利用されます。 |
PRO*COBOL | COBOL | 全て | 低 | COBOLに対応するプリコンパイラ方式のミドルウエア。 COBOL自体が使われなくなってきているのであまり見かけません。 |
OO4O | VBやVC++、VB.net | WINDOWSのみ | 高 | OO4OはCOMコンポーネントのミドルウエアです。VBやVBAのアプリケーションで使用されるケースが多いようです。11gR2が最後のリリースで12c以降なくなりました。 |
ODP.net | .net系の言語(VB.net、VC#等) | WINDOWSのみ | 中 | .netフレームワーク上で動作するミドルウエア。 12cにおいてOO4Oがなくなったことから.netアプリケーションではODP.netへ移行していくはずです。 |
ODBC(.net) | VBやC言語、C++等(.net系の言語) | 9iまではWINDOWSのみ。10g以降はLinux等でも提供されている | 高 | ACCESSやEXCEL等のOFFICE系かVCのアプリケーションで使用されることが多いようです。 また、SQL SERVERやDB2など他社DBとORACLE間で接続する場合はODBCを利用します。 |
OLEDB(.net) | VBやVC++(.net系の言語) | windowsのみ | 低 | ACCESSやEXCEL等のOFFICE系のアプリケーションで使用されることが多いようですが、 ODBCやOO4Oと比べるとあまり見かけません。 |
JDBC | java | 全て | 高 | 内部的にOCIライブラリを使用するType2とjavaのソースのみで接続するType4(Thin)の2通りの接続方法があります。 |