ODBCサンプル・プログラムのコンパイルおよび実行


重要な前提条件

1. サンプル・データベースとユーザー・アカウントを設定する

次のbuild_sampledbスクリプトを1回実行して、サンプル・データベースおよびユーザー・アカウントを設定する必要があります。

Windows:   > cd quickstart/sample_scripts/createdb
> build_sampledb.bat
UNIX/Linux:   $ cd quickstart/sample_scripts/createdb
$ ./build_sampledb.sh

2. サンプル・プログラムをコンパイルおよび実行するための環境を設定する

各端末セッションに対して、次のスクリプトを実行する必要があります。

Windows:   > quickstart/ttquickstartenv.bat
UNIX/Linux:   $ . quickstart/ttquickstartenv.sh または
$ source quickstart/ttquickstartenv.csh

ODBCサンプル・プログラムをコンパイルする方法

sample_code/odbcディレクトリのサンプル・プログラムをコンパイルするには、同じディレクトリにあるmakefileを実行します。TimesTenがインストールされているプラットフォームに基づいて、適切なmakefileが使用可能であることを確認してください。

sample_code/odbcディレクトリの特定のサンプル・プログラムをビルドするには、次のコマンドを使用します。

[Windows] > nmake <program-name>.exe
[Linux/UNIX] $ make <program-name>
ここで、<program-name>はコンパイル対象のプログラムです。

たとえば、bulkinsertプログラムをコンパイルする場合は、次のコマンドを実行します。

[Windows] > nmake bulkinsert.exe
[Linux/UNIX] $ make bulkinsert

Windowsの場合、デフォルトですべてのODBC実行可能ファイルがビルドされた状態で付属しています。
すべてのODBC実行可能ファイルをビルドする必要がある場合、Windowsではnmakeを、Linux/UNIXではmakeを入力します。

 

ODBCサンプル・プログラムを実行する方法

  bulkinsert このプログラムは、表に多くの行を挿入するために必要な時間を実現および測定します。パラメータを使用して、表に索引が存在するかどうか、および挿入後に統計を計算するかどうかを指定できます。また、バッチで行の挿入を指定して、より優れたパフォーマンスを実現することもできます。

 例:

  (10,000行、バッチ・サイズ256、索引なしの場合)
  bulkinsert

  (50,000行、バッチ・サイズ256、索引なしの場合)
  bulkinsert -r 50000

  (5,000行、バッチ・サイズ512、索引3つの場合)
  bulkinsert -r 5000 -s 512 -i 3

  プログラムの完全な構文を参照するには、"bulkinsert -help"を実行してください。


  plsqlODBC このサンプル・プログラムは、ODBCを使用し、4つの異なる方法で共通のPL/SQLパッケージ(emp_pkgおよびsample_pkg)にアクセスします。

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

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

使用例:

  (デフォルトのDSNとデフォルトのユーザー使用してプログラムを実行し、パスワードの入力を求める場合)
  plsqlODBC

  (DSNおよびユーザー名を指定してプログラムを実行し、パスワードの入力を求める場合)
  plsqlODBC -connstr "DSN=sampledb_1121;UID=appuser"

  (DSN、ユーザー名およびパスワードを指定してプログラムを実行する場合)
  plsqlODBC -connstr "DSN=sampledb_1121;UID=appuser;PWD=mypassword"

プログラムの完全な構文を参照するには、"plsqlODBC -help"を実行してください。

 

  tpcb このプログラムでは、TPCBと同様のワークロード・ベンチマークが実現されます。このコードは、ACCOUNTSBRANCHESおよびTELLERS表に対して移入を行います。次に、TPCBベンチマークの変更バージョンを実行して、25,000のトランザクションを実行します。

各トランザクションは、ACCOUNTSBRANCHESおよびTELLERS表の残高を更新し、ACCOUNTS表から新しい残高をフェッチして、HISTORY表にレコードを追加します。終了時に、測定されたパフォーマンスが出力されます。


  (25,000のトランザクション、スケール1の場合)
   tpcb

  (250,000のトランザクション、スケール2の場合)
   tpcb -xact 250000 -scale 2

  プログラムの完全な構文を参照するには、"tpcb -help"を実行してください。


  tptbm このプログラムでは、マルチユーザー・スループット・ベンチマークが実装されます。デフォルトでは、トランザクション・ミックスは、80%のSELECT(読取り)トランザクションおよび20%のUPDATE(書込み)トランザクションで構成されています。トランザクション・ミックスには、SELECTおよびUPDATEの他に、INSERTを含めることもできます。SELECTUPDATEおよびINSERTの割合は、コマンドラインで指定します。各トランザクションは、1つ以上のSQL操作で構成されます。

ベンチマークは、最初にデータ・ストアにデータを移入し、そのデータ・ストアに対してトランザクション・ミックスを実行します。トランザクション・ミックスの一部として挿入される行の数は、データベースに最初に移入される行の数を超えることができません。

ベンチマークの測定エラーは、最大で2秒です。200秒間を超えるロードの場合、この測定エラーは無視できます。ベンチマーク用に提案されているロードは、600秒以上続くものです。

このテスト用のスキーマは、プログラム・ソース・ファイルtptbm.cに示されています。

例:

  (読取り80%、更新20%、1つのプロセス、10,000のトランザクションの場合)
  tptbm

  (読取り80%、更新20%、2つのプロセス、100,000のトランザクション、乱数ジェネレータでシードとして3を使用する場合)
  tptbm -proc 2 -xact 100000 -seed 3

  (読取り85%、挿入10%、更新5%、1つのプロセス、10,000のトランザクションの場合)
  tptbm -read 85 -insert 10

  プログラムの完全な構文を参照するには、"tptbm -help"を実行してください。

 

  wiscbm このプログラムは、Wisconsinベンチマークからの問合せのサブセットを実装し、測定します。これは約30の問合せを実行し、1つ目のバッチは索引なしで、2つ目のバッチは索引ありで実行されます。終了時に、問合せごとのレスポンス時間を示すレポートが生成されます。

使用例:

  (スケール1、すべての問合せ、コミット読取り分離レベルの場合)
   wiscbm

  (スケール5、すべての問合せ、コミット読取り分離レベルの場合)
   wiscbm -scale 2

  (スケール2、問合せ[1、3、5から7、10から14、25]のみ、コミット読取り分離レベルの場合)
   wiscbm -scale 2 -q 1,3,5-7,10-14,25

完全な構文を参照するには、"wiscbm -help"を実行してください。

  xlaSimple このプログラムは、ODBCを使用するC開発者を対象として、TimesTenトランザクション・ログAPI(XLA)の使用方法を示します。このプログラムには、データベースで変更をサブスクライブするためにXLA権限を持つユーザーが必要です。

このプログラムは、sampledb_1121データベースの表APPUSER.MYDATAをサブスクライブします。パラメータを指定せずにプログラムを実行した場合は、デフォルトのxlauserユーザー(build_sampledbスクリプトで作成)が使用されます。

APPUSER.MYDATAに対する変更を生成するには、appuserで、ttIsqlを使用してsampledb_1121に接続します。次に、MYDATA表でデータベース・トランザクションを実行します。

使用例:

  (デフォルト・ユーザーがxlauser、デフォルト・データベースがsampledb_1121でプログラムを実行する場合)
   xlaSimple

プログラムを終了するには、[Ctrl]キーを押しながら[C]キーを押します。

完全な構文を参照するには、"xlaSimple -help"を実行してください。

 

 

TimesTenデータベースにデータベース・プログラムを開発するためのODBCの使用方法の詳細は、『Oracle TimesTen In-Memory Database C開発者ガイド』を参照してください。