B OCIデモ・プログラム

OCIハンドルの割当ておよび使用方法を説明するサンプル・コード付きのサンプル・プログラムを示します。

OCIコールの使用方法を示すコード例を提供しています。これらのプログラムはあくまでも例であり、すべてのオペレーティング・システムで実行できるとはかぎりません。

『Oracle Database Examplesインストレーション・ガイド』の説明に従って、デモ・プログラムをイインストールする必要があります。デモ・プログラムの位置、名前および可用性は、オペレーティング・システムによって異なります。LinuxまたはUNIXワークステーションでは、デモ・プログラムは$ORACLE_HOME/rdbms/demoディレクトリにインストールされています。Windowsシステムの場合は、「OCI for Windowsスタート・ガイド」を参照してください。

LinuxまたはUNIXプラットフォームでOCIクライアント・アプリケーションの開発に必要なOCIヘッダー・ファイルは、$ORACLE_HOME/rdbms/publicディレクトリにインストールされています。demo_rdbms.mkファイルは$ORACLE_HOME/rdbms/demoディレクトリ内にあるサンプルMakefileです。Windowsシステムでの類似ファイルは、samplesディレクトリ内のmake.batです。Makefile内に指示があります。

demo_rdbms.mkファイルを大幅に変更しないかぎり、demo_rdbms.mkファイルが$ORACLE_HOME/rdbms/publicディレクトリを含む場合に行われた変更によって影響を受けることはありません。高度にカスタマイズしたMakefileが、INCLUDEパスの$ORACLE_HOME/rdbms/publicディレクトリにあることを確認してください。

OCIアプリケーションまたは外部プロシージャを構築するための新しいmakefileを開発するには、独自のマクロをリンク行に追加して、指定したmakefileをカスタマイズします。ただし、独自のmakefileのメンテナンスを簡単にするために、指定したマクロをデモmakefile内に保持しておく必要があります。

特定のヘッダー・ファイルまたはSQLファイルがアプリケーションで必要になった場合には、デモ・プログラム・ファイルでの指定に従って、それらのファイルも用意されています。設定やプログラム実行のヒントは、デモ・プログラムの最初に記載されたコメントの情報を参照してください。

表B-1に、重要なデモ・プログラムおよびそのプログラムで示されるOCI機能を示します。拡張子.sqlが付いた関連ファイルを検索してください。

表B-1 OCIデモ・プログラム

プログラム名 示される機能

cdemo81.c

リリース8の機能を使用した基本SQL処理の使用

cdemo82.c

ユーザー定義オブジェクトの基本処理の実行

cdemocor.c

複合オブジェクト検索(COR)を使用したパフォーマンス向上

cdemodr1.c cdemodr2.c cdemodr3.c

基本データ型のLOBおよびREFで使用されるRETURNING句を伴うINSERTUPDATEおよびDELETE文の使用

cdemodsa.c

表の情報の記述

cdemodsc.c

オブジェクト型の情報の記述

cdemofo.c

アプリケーション・フェイルオーバー・コールバックの登録および操作

cdemolb.c

LOBデータの作成と挿入およびその後のデータの読取り、書込み、コピー、追加および切捨て

cdemolb2.c

ストリーム・モードおよびコールバック関数を使用したCLOBおよびBLOB列の書込みおよび読取り

cdemolbs.c

LOBバッファリング・システムを使用したLOBの書込みおよび読取り

cdemobj.c

REFオブジェクトの確保およびナビゲーション

cdemocoll.c

ネストした表とVARRAYの挿入および選択

cdemorid.c

INSERTUPDATEDELETE文およびフェッチを使用した1ラウンドトリップでの複数ROWIDの取得

cdemoses.c

セッション切替えおよび移行の使用

cdemothr.c

OCIThreadパッケージの使用

cdemosyev.c

事前定義済サブスクリプションの登録およびクライアント通知用に呼び出すコールバック関数の指定(アドバンスト・キューイングの詳細は 『Oracle Databaseアドバンスト・キューイング・ユーザーズ・ガイド』を参照してください)

ociaqdemo00.c

ociaqdemo01.c

ociaqdemo02.c

ociaqarrayenq.c

ociaqarraydeq.c

Databaseアドバンスト・キューイング。100メッセージをエンキュー

メッセージをブロックしてデキュー

複数のエージェントをリスニング

10メッセージを配列してエンキュー

10メッセージを配列からデキュー

cdemodp.c、cdemodp_lip.c

ダイレクト・パス・ロード関数を使用したデータのロード

cdemdpco.c

cdemdpno.c

cdemdpin.c

cdemdpit.c

cdemdpro.c

cdemdpss.c

ダイレクト・パス・ロード関数を使用した列オブジェクトのロード

ダイレクト・パス・ロード関数を使用した、ネストされた列オブジェクトのロード

導出タイプ(継承)のロード - ダイレクト・パス

継承があるオブジェクト表のロード - ダイレクト・パス

ダイレクト・パス・ロード関数を使用した参照のロード

ダイレクト・パス・ロード関数を使用したSQL文字列のロード

cdemoucb.c、cdemoucbl.c

静的および動的ユーザー・コールバックの使用

cdemoupk.c、cdemoup1.c、cdemoup2.c

複数パッケージでの動的ユーザー・コールバックの使用

cdemodt.c

日時および時間隔の例。(PL/SQLプロシージャまたは関数でのINおよびOUTバインドのデモ)

cdemosc.c

スクロール・カーソル

cdemol2l.c

LONG API (データ・インタフェース)を使用したLOBへのアクセス

cdemoin1.c

表にある継承されたタイプを変更し、その表からレコードを表示する継承デモ

cdemoin2.c

属性の代入性を提示する継承デモ

cdemoin3.c

オブジェクト、継承されたタイプ、オブジェクト表およびサブ表を記述した継承デモ

cdemoanydata1.c

任意データ・デモ。任意データ表との間での行の挿入と選択

cdemoanydata2.c

任意データ・デモ。OCITypeBeginCreate()を使用してタイプをピース単位に作成し、作成した新しいタイプを記述

cdemoqc.c

SQLヒントを使用した問合せキャッシュ

cdemoqc2.c

SQLヒントおよび表注釈を使用した問合せキャッシュ

cdemosp.c

セッション・プーリング

cdemocp.c

接続プーリング

cdemocpproxy.c

プロキシ機能を使用した接続プーリング

cdemostc.c

文キャッシュ

cdemouni.c

OCI UTF16 APIのプログラム

nchdemo1.c

NCHARの暗黙的変換機能およびコード・ポイント機能の表示