TTClassesサンプル・プログラム

TTClassesは、データベース開発者が、Oracle TimesTenデータベースで実行するC++アプリケーションを実装するための一連のC++クラスおよびAPIを提供します。このページでは、TTClassesを使用するサンプル・プログラムのリストを提供します。TimesTen In-memory Databaseの主な機能を示す一連のサンプル・プログラムを提供して、TimesTenを初めて使用する開発者を支援することを目的としています。

次のTTClassesサンプル・プログラムは、quickstart/sample_code/ttclassesディレクトリにあります。

  プログラム 説明
  basics.cpp このサンプル・プログラムは、TTClassesを使用するプロジェクトを開始する際の便利なテンプレートとなります。TimesTenデータベースとの接続および切断の方法、SQL文の準備、バインド、実行、フェッチおよびクローズの方法が示されています。シリアライズ可能トランザクションとコミット読取りトランザクションの両方について、TTClasses例外処理およびSQL操作のタイミングの例が示されています。
  bulkcp.cpp このサンプル・プログラムは動的SQLを使用してSQL問合せを実行し、その結果をコンソールまたはファイルに書き込みます。ユーザーは、コマンドラインでSQL問合せを入力します。オプションで、NULL値および列セパレータとして表示する文字を指定できます。
  bulktest.cpp このサンプル・コードは、一連の挿入、更新および削除操作を、初回は非バルク・モードで、次に様々なバッチ・サイズのバルク・モードで実行します。batchsizeを256(最適な値)に設定すると、挿入操作のパフォーマンスは大きく向上し、更新および削除操作のパフォーマンスはわずかに向上します。
  catalog.cpp このサンプル・プログラムは、すべての表、ビューおよび索引を含むデータベース・スキーマ情報を出力します。 .
  plsqlTTCLASSES.cpp このサンプル・プログラムは、TTClassesを使用し、4つの異なる方法で共通のPL/SQLパッケージ(emp_pkgおよびsample_pkg)にアクセスします。

- INおよびOUTパラメータを使用してストアド・プロシージャをコールする
- INおよびOUTパラメータを使用してストアド・ファンクションをコールする
- 無名ブロックをコールし、ブロックとのホスト変数のやりとりを行う
- ストアド・プロシージャをコールして参照カーソルを開き、TTClassesを使用して参照カーソルの結果セットを処理する

このプログラムが動作するには、EMP表と、emp_pkgおよびsample_pkg PL/SQLパッケージが存在している必要があります。

  pooltest.cpp このサンプル・プログラムでは、マルチスレッド接続プールの使用方法およびエラー処理を示します。このプログラムは、マルチスレッド・アプリケーションで、TTClassesにTTConnectionPoolクラスを使用する方法を示します。ユーザーは、挿入操作に使用するスレッドの数および接続プールに保持する接続の数を指定できます。
  ttSizeAll.cpp このサンプル・プログラムでは、複数の表に対するTimesTenユーティリティttSizeのコールを示します。
  typetest.cpp このサンプル・プログラムでは、サポートされるすべてのデータ型の列を含む表typetestを作成することによって、Oracle TimesTenでサポートされる様々なデータ型の使用方法を示します。表の作成後、このプログラムは表にデータを挿入し、表のデータを問い合せます。
  ttxlaAdmin.cpp このプログラムでは、データベースでXLAブックマークをリストまたは削除する方法を示します。システムのすべてのブックマークを参照できるのは管理者のみであるため、このプログラムを実行するにはユーザーがADMIN権限を持っている必要があります。XLA権限を持つユーザーは、そのユーザー自身が所有するブックマークをリストまたは削除することができます。

トランザクション・ログ・ファイルのパージを妨げる不要なブックマークは、システムでの操作に問題を引き起こす可能性があるため、削除する必要があります。

入力を行わずにプログラムを実行する場合、デフォルトでlistオプションが使用されます。プログラムは、システムで検索された各XLAブックマークについて、その名前、LSN、およびブックマークがトランザクション・ログを保持しているかどうかをリストします。

removeオプションを使用すると、ユーザーはブックマーク名を使用してXLAブックマークを削除できます。removeallオプションを使用すると、すべてのブックマークを削除できます。ブックマークは、使用中でないときにのみ削除できます。
  xlasubscriber1.cpp このプログラムでは、表への変更通知をサブスクライブするために、実行時にユーザーが選択したトランザクション・ログAPI(XLA)機能を使用する方法を示します。

また、永続XLAブックマークを作成する方法、および指定した表に対する変更を監視して処理する方法を示します。このプログラムは、処理された変更レコード、およびその変更の原因となった、表で実行された操作(挿入、更新または削除)を表示します。

追跡中の表にワークロードを生成するには、ttIsqlセッションまたはTimesTenユーザー・アプリケーションを使用して、追跡対象のその表に変更を適用します。このプログラムを実行するには、ユーザーがXLA権限を持っている必要があります。
  xlasubscriber2.cpp このプログラムでは、対象の複数の表(ここでは3つの表)でXLAイベントをサブスクライブする方法を示します。このプログラムは、3つの表(MYTABLE、ICFおよびABC)に対する変更を監視します。

トランザクションの挿入、更新および削除によって影響を受ける各行について、その列の名前と値が表示されます。トランザクション・ワークロードを作成するには、ttIsqlセッションまたはTimesTenユーザー・アプリケーションから、MYTABLE、ICFまたはABC表あるいはこれらすべての表に対してトランザクションを実行できます。

このプログラムは、対象の表自体にアクセスする権限は持たず、対象の表に対する変更を参照する権限のみを持つXLAサブスクライバの例です。このプログラムには、実行するXLA権限を持つユーザーが必要です。

インストールされているプラットフォームでサンプル・プログラムをコンパイルして実行する方法については、「コンパイルおよび実行」を参照してください。

TTClassesの詳細は、『Oracle TimesTen In-Memory Database TTClassesガイド』を参照してください。