4.6 Oracle C++ Call Interface(OCCI)

OCCIは、C++プログラミング言語のオブジェクト指向機能、ネイティブ・クラスおよびメソッドを使用して、OracleデータベースにアクセスできるようにするC++ APIの1つです。

内容は次のとおりです。

4.6.1 Oracle C++ Call Interface (OCCI)について

OCCIインタフェースはJDBCインタフェースを基に作成されているため、JDBCインタフェースのように扱いが簡単です。OCCIそのものがOCIの上に構築され、オブジェクト指向パラダイムを使用してOCIの能力およびパフォーマンスを提供します。

OCIは、Oracleデータベースに対するC APIです。Oracleの全機能セットをサポートし、リレーショナル・データとオブジェクト・データ両方へ効率的にアクセスできますが、特に複雑なオブジェクト・データ型を扱う場合に、使用しづらい傾向があります。オブジェクト型はCではネイティブにサポートされていないため、Cでこれらの型をシミュレートするのは容易ではありません。OCCIでは、OCIの機能に単純なオブジェクト指向インタフェースを持たせることで、この問題に取り組んでいます。OCI用に一連のラッパーを定義して、これを実現します。このような高度な抽象化を扱うことにより、開発者はOCIの基盤となる機能を使用して、非常にプログラムしやすくなっているオブジェクト指向インタフェースを介してサーバーでオブジェクトを操作できます。

OCCIは、次の3つの機能セットに分類できます。

  • 結合リレーショナル・アクセス

  • 結合オブジェクト・アクセス

  • ナビゲーショナル・アクセス

4.6.2 OCCI結合リレーショナルおよびオブジェクト・インタフェース

結合リレーショナルAPIおよびオブジェクト・クラスにより、SQLにデータベースへアクセスする機能が提供されます。

これらのインタフェースを介してSQLをサーバー上で実行し、オブジェクトまたはリレーショナル・データを作成、操作およびフェッチします。アプリケーションは、サーバー上のどのデータ型にもアクセスできます。次に例を示します。

  • ラージ・オブジェクト

  • オブジェクト/構造型

  • 配列

  • 参照

4.6.3 OCCIナビゲーショナル・インタフェース

ナビゲーショナル・インタフェースとは、SQLを使用せずに、C++オブジェクトの形式で表現されたオブジェクト・リレーショナル・データにシームレスにアクセスし、修正できるようにするC++インタフェースです。

C++オブジェクトは透過的にアクセスし、必要に応じてデータベースに格納します。

OCCIナビゲーショナル・インタフェースを使用すると、オブジェクトを取り出し、参照によりオブジェクト間をナビゲートできます。サーバー・オブジェクトはアプリケーション・キャッシュ内部でC++クラス・インスタンスとして具体化されます。

アプリケーションはOCCIオブジェクト・ナビゲーショナル・コールを使用して、サーバー・オブジェクトに対し次の機能を実行できます。

  • オブジェクトの作成、アクセス、ロック、削除およびフラッシュ

  • オブジェクトの参照の取得およびオブジェクトのナビゲート

    関連項目:

    Oracle C++ APIを使用したアプリケーションの作成方法の詳細は、『Oracle C++ Call Interfaceプログラマーズ・ガイド』を参照してください。