重要な前提条件
1. サンプル・データベースとユーザー・アカウントを設定する
次のbuild_sampledbスクリプトを1回実行して、サンプル・データベースおよびユーザー・アカウントを設定する必要があります。
Windows: > cd quickstart/sample_scripts/createdb
> build_sampledb.batUNIX/Linux: $ cd quickstart/sample_scripts/createdb
$ ./build_sampledb.sh2. サンプル・プログラムをコンパイルおよび実行するための環境を設定する
各端末セッションに対して、次のスクリプトを実行する必要があります。
Windows: > quickstart/ttquickstartenv.bat UNIX/Linux: $ . quickstart/ttquickstartenv.sh または
$ source quickstart/ttquickstartenv.csh
JDBCサンプル・プログラムをコンパイルする方法
sample_code/jdbcディレクトリのサンプル・プログラムをコンパイルするには、使用しているプラットフォーム(Sun、HP、JRocketまたはIBM JDK)用の関連するTimesTenでサポートされるJavaコンパイラを使用します。使用しているプラットフォームでサポートされるJDKのリストについては、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』を参照してください。
- |
特定のプログラムをコンパイルする場合: | javac <progname.java> |
- |
すべてのサンプル・プログラムをまとめてコンパイルする場合: | javac *.java |
JDBCサンプル・プログラムを実行する方法
注意: 32ビットと64ビットの両方のJDKが同じディレクトリにインストールされているプラットフォーム(Solarisなど)で64ビットのJVMを実行するには、Javaを起動する際に-d64オプションを指定する必要があります。
asyncJMS | このプログラムは、TimesTen JMS/XLA実装を使用して、メッセージを処理します。 a) XLAユーザーとしてデータベースに接続する b) CUSTOMER表に対するコミット済の変更をリスニングする c) JMSサブスクライバを使用する d) onMessage()およびJMS MessageListenerを介してメッセージを非同期に受信する e) コンソールに変更記録を表示する f) [CTRL]+[C]が入力されたら、データベースから切断する level1からlevel4のJDBCプログラムか、または(input4.datスクリプトで)ttIsqlを使用すると、コミット済の変更をCUSTOMER表に適用できます。 |
例:
\x{00a0}\x{00a0}(デフォルトのDSNのsampledb_1121、UID=xlauser、および入力を求めたパスワードを使用して接続し、APPUSER.CUSTOMERをリスニングする場合)
\x{00a0}\x{00a0}java asyncJMS
\x{00a0}\x{00a0}(デフォルトのDSNのsampledb_1121およびUID=xlauserを使用して接続し、APPUSER.CUSTOMERをリスニングする場合)
\x{00a0}\x{00a0}java asyncJMS -xlauser password
\x{00a0}\x{00a0}(デフォルトのDSNのsampledb_1121およびUID=xlauserを使用して接続し、MYUSER.CUSTOMER表をリスニングする場合)
\x{00a0}\x{00a0}java asyncJMS -xlauser password -schema myUser
\x{00a0}\x{00a0}プログラムの完全な構文を参照するには、"java asyncJMS -h"を実行してください。
level1 | このプログラムは、TimesTen JDBC DriverManagerインタフェースを使用して、TimesTenデータベースでの基本操作を示します。 a) com.timesten.jdbc.timesTenDriverインタフェースを使用して接続する b) 入力ファイルinput1.datから読み込まれたすべてのデータをCUSTOMER表に挿入する c) ttOptUpdateStatsをコールして統計を更新する d) CUSTOMER表から選択し、結果セットをフェッチしてstdoutに出力する e) データベースから切断する |
例:
(デフォルトのDSNのsampledb_1121およびUID=appuserを使用して、直接リンクで接続する場合)
java level1
(デフォルトのDSNおよびUIDを使用して、クライアント/サーバー・モードで接続する場合)
java level1 -c
(独自のDSNのmy_dsnを使用して接続する場合)
java level1 my_dsn
プログラムの完全な構文を参照するには、"java level1 -h"を実行してください。
level2 | このプログラムは、TimesTen DataSourceインタフェースを使用して、TimesTenデータベースでの基本操作を示します。 a) TimesTenDataSourceインタフェースを使用して接続する b) datfilesサブディレクトリにあるinput2.datファイルから読み取られたすべてのデータを挿入する c) ttOptUpdateStatsをコールして統計を更新する d) PRODUCT表から重複する製品データを削除する e) 製品価格を10%上げてPRODUCT表を更新する f) PRODUCT表からデータを選択し、結果セットをフェッチしてstdoutに出力する g) データベースから切断する |
例:
(デフォルトのDSNのsampledb_1121およびUID=appuserを使用して、直接リンクで接続する場合)
java level2
(デフォルトのDSNおよびUIDを使用して、クライアント/サーバー・モードで接続する場合)
java level2 -c
(独自のDSNのmy_dsnを使用して接続する場合)
java level2 my_dsn
プログラムの完全な構文を参照するには、"java level2 -h"を実行してください。
level3 | このプログラムは、TimesTen JDBCドライバを使用して、次の注文処理を実行します。 a) TimesTenDataSourceインタフェースを使用してデータベースに接続する b) input3.datファイルのすべての注文をORDERS表およびORDER_ITEM表に挿入して処理し、入手可能な数量を確認するためにINVENTORY表から選択し、注文の数量を差し引いてINVENTORY表を更新する。在庫に十分な数量がない場合、プログラムはトランザクションをロールバックして、メッセージを発行する c) データベースから切断する |
例:
(デフォルトのDSNのsampledb_1121およびUID=appuserを使用して、直接リンクで接続する場合)
java level3
(デフォルトのDSNおよびUIDを使用して、クライアント/サーバー・モードで接続する場合)
java level3 -c
(独自のDSNのmy_dsnを使用して接続する場合)
java level3 my_dsn
プログラムの完全な構文を参照するには、"java level3 -h"を実行してください。
level4 | このプログラムは、level3.javaプログラムのマルチスレッド・バージョンです。このプログラムは、複数のスレッドを使用してアプリケーションのスループットを増やします。 |
例:
(デフォルトのDSNのsampledb_1121およびUID=appuserを使用して、直接リンクで接続する場合)
java level4
(デフォルトのDSNおよびUIDを使用して、クライアント/サーバー・モードで接続する場合)
java level4 -c
(独自のDSNのmy_dsnを使用して接続する場合)
java level4 my_dsn
プログラムの完全な構文を参照するには、"java level4 -h"を実行してください。
plsqlJDBC | このサンプル・プログラムは、JDBCを使用し、4つの異なる方法で共通のPL/SQLパッケージ(emp_pkgおよびsample_pkg)にアクセスします。
- INおよびOUTパラメータを使用してストアド・プロシージャをコールする |
例:
(デフォルトのDSN sampledb_1121を使用してプログラムを実行し、ユーザー名とパスワードの入力を求める場合)
java plsqlJDBC
プログラムの完全な構文を参照するには、"java plsqlJDBC -help"を実行してください。
syncJMS | このプログラムは、TimesTen JMS/XLA実装を使用して、メッセージを処理します。 a) XLAユーザーとしてデータベースに接続する b) ANY表に対するコミット済の変更をリスニングする(デフォルト設定をappuser.customer表にする) c) JMSサブスクライバを使用する d) getルーチンのreceiveメソッドを介してメッセージを同期的に受信する e) コンソールに変更記録を表示する f) [CTRL]+[C]が入力されたら、データベースから切断する level1からlevel4のJDBCプログラムか、または(input4.datスクリプトで)ttIsqlを使用すると、コミット済の変更をCUSTOMER、PRODUCT、ORDERS、ORDER_ITEMおよびINVENTORY表に適用できます。 |
例:
\x{00a0}\x{00a0}(デフォルトのDSNのsampledb_1121、UID=xlauser、および入力を求めたパスワードを使用して接続し、APPUSER.CUSTOMERをリスニングする場合)
\x{00a0}\x{00a0}java syncJMS
\x{00a0}\x{00a0}(デフォルトのDSNのsampledb_1121およびUID=xlauserを使用して接続し、APPUSER.CUSTOMERをリスニングする場合)
\x{00a0}\x{00a0}java syncJMS -xlauser password
\x{00a0}\x{00a0}(デフォルトのDSNのsampledb_1121およびUID=xlauserを使用して接続し、MYUSER.PRODUCT表をリスニングする場合)
\x{00a0}\x{00a0}java syncJMS -xlauser password -schema myUser -table product
\x{00a0}\x{00a0}プログラムの完全な構文を参照するには、"java syncJMS -h"を実行してください。
Tptbm | このプログラムでは、マルチユーザー・スループット・ベンチマークが実装されます。デフォルトでは、トランザクション・ミックスは、80%のSELECT(読取り)トランザクションおよび20%のUPDATE(書込み)トランザクションで構成されています。トランザクション・ミックスには、SELECTおよびUPDATEの他に、INSERTを含めることもできます。SELECT、UPDATEおよびINSERTの割合は、コマンドラインで指定します。各トランザクションは、1つ以上のSQL操作で構成されます。 ベンチマークは、最初にデータ・ストアにデータを移入し、そのデータ・ストアに対してトランザクション・ミックスを実行します。トランザクション・ミックスの一部として挿入されるタプルの数は、データベースに最初に移入されるタプルの数を超えることができません。 ベンチマークの測定エラーは、最大で2秒です。200秒間を超えるロードの場合、この測定エラーは無視できます。ベンチマーク用に提案されているロードは、600秒以上続くものです。 このテスト用のスキーマは、プログラム・ソース・ファイルtptbm.javaに示されています。 |
例:
(読取り80%、更新20%で構成されるデフォルトのワークロード・ミックスを使用して、DSN=sampledb_1121、UID=appuserでプログラムを実行する場合)
java Tptbm
(読取り80%、更新20%、4つのプロセスで、表に400,000行を移入し、100,000のトランザクションを実行する場合)
java Tptbm -threads 4 -key 200 -xacts 100000
(読取り85%、挿入10%、更新5%、4つのプロセス、10,000のトランザクションの場合)
java Tptbm -threads 4 -reads 85 -inserts 10 -xacts 10000
プログラムの完全な構文を参照するには、"java Tptbm -h"を実行してください。
TTJdbcExamples | このプログラムでは、TimesTen JDBC DriverManagerインタフェースを使用して、次の操作を行う方法を示します。 a) 接続および切断する b) いくつかのDDLおよびDML操作(表の作成、索引の作成、文の準備、表への挿入および表からの選択)を実行する c) 問合せ計画に影響を与える変更を行う d) バッチ更新を実行する |
例:
(すべての例を実行し、デフォルトのDSNのsampledb_1121およびUID=appuserを使用して接続する場合)
java TTJdbcExamples
(例2のみを実行する場合)
java TTJdbcExamples -run 2
(例2で64ビットのJDKを実行する場合)
java -d64 TTJdbcExamples -run 2
プログラムの完全な構文を参照するには、"java TTJdbcExamples -h"を実行してください。
Oracle TimesTenでのJavaプログラミングの詳細は、『Oracle TimesTen In-Memory Database Java開発者ガイド』を参照してください。
ホーム | サイト・マップ | 連絡先 | Copyright © 2009 |