注:
サンプル・プログラムは、DB2 アプリケーション開発 (DB2 AD) クライアントに付属しています。 サンプル・プログラムをテンプレートとして使用して、 独自のアプリケーションを作成することができます。
サンプル・プログラムのファイル拡張子は、 サポートされる各言語ごとに異なり、 各言語内でも、組み込み SQL プログラムと非組み込み SQL プログラムとでは異なります。 さらには、各言語内のプログラム・グループごとにも異なっています。 これらのサンプル・ファイル拡張子を分類したのが、次の表です。
次の表は、サンプル・プログラムをタイプで分類しています。
注:
言語 | ディレクトリー | 組み込み SQL を含むプログラム | 組み込み SQL を含まないプログラム |
---|---|---|---|
C |
samples/c samples/cli (CLI プログラム) | .sqc | .c |
C++ | samples/cpp |
.sqC (UNIX) .sqx (Windows および OS/2) |
.C (UNIX) .cxx (Windows および OS/2) |
COBOL |
samples/cobol samples/cobol_mf | .sqb | .cbl |
JAVA | samples/java | .sqlj | .java |
REXX | samples/rexx | .cmd | .cmd |
サンプル・グループ | ディレクトリー | ファイル拡張子 |
---|---|---|
ADO, RDO, MTS |
samples\ADO\VB (Visual Basic) samples\ADO\VC (Visual C++) samples\RDO samples\MTS |
.bas .frm .vbp (Visual Basic) .cpp .dsp .dsw (Visual C++) |
CLP | samples/clp | .db2 |
OLE |
samples\ole\msvb (Visual Basic) samples\ole\msvc (Visual C++) |
.bas .vbp (Visual Basic) .cpp (Visual C++) |
OLE DB | samples\oledb | .db2 |
SQL プロシージャー | samples/sqlproc |
.db2 .c .sqc (クライアント・アプリケーション) |
ユーザー出口 | samples/c |
.cad (OS/2) .cadsm (UNIX および Windows) .cdisk (UNIX および Windows) .ctape (UNIX) |
注: |
|
サンプル・プログラムは、DB2 がインストールされているディレクトリーの samples サブディレクトリーに入っています。 サポートされている言語ごとにサブディレクトリーが 1 つずつ作成されます。 以下の例では、 サポートされている各プラットフォーム用に C または C++ で作成されたサンプルがある場所を探す方法を示しています。
組み込み SQL および DB2 API プログラムの C ソース・コードは、 データベース・インスタンス・ディレクトリーの下にある sqllib/samples/c にあります。 DB2 CLI プログラムの C ソース・コードは、 sqllib/samples/cli にあります。 サンプル表にあるプログラムの追加情報については、 DB2 インスタンスの下の該当する samples サブディレクトリーの README ファイルを参照してください。 README ファイルには、 本書でリストされていない追加のサンプルが含まれることがあります。
組み込み SQL と DB2 API プログラムの C ソース・コードは、 DB2 インストール・ディレクトリーの下にある %DB2PATH%\samples\c にあります。 DB2 CLI プログラムの C ソース・コードは、 %DB2PATH%\samples\cli にあります。 変数 %DB2PATH% で、 DB2 のインストール先を判別できます。 DB2 がインストールされているドライブによっては、 %DB2PATH% は drive:\sqllib を指します。 サンプル表にあるプログラムの追加情報については、 該当する %DB2PATH%\samples サブディレクトリーの README ファイルを参照してください。 README ファイルには、 本書でリストされていない追加のサンプルが含まれることがあります。
サンプル・プログラム・ディレクトリーは、たいていのプラットフォームでは一般に読み取り専用です。 サンプル・プログラムは、変更または作成する前に、 ユーザーの作業ディレクトリーにコピーしてください。
表 3. 組み込み SQL なしの DB2 API サンプル・プログラム
サンプル・プログラム | 組み込み API |
---|---|
backrest
C: backrest.c |
|
checkerr
COBOL: checkerr.cbl |
|
cli_info
C: cli_info.c |
|
client
C: client.c
C++: client.C
COBOL: client.cbl |
|
d_dbconf
C: d_dbconf.c
COBOL: d_dbconf.cbl |
|
d_dbmcon
C: d_dbmcon.c
COBOL: d_dbmcon.cbl |
|
db_udcs
C: db_udcs.c
COBOL: db_udcs.cbl |
|
db2mon
C: db2mon.c |
|
dbcat
C: dbcat.c
COBOL: dbcat.cbl |
|
dbcmt
C: dbcmt.c
COBOL: dbcmt.cbl |
|
dbconf
C: dbconf.c
COBOL: dbconf.cbl |
|
dbinst
C: dbinst.c
COBOL: dbinst.cbl |
|
dbmconf
C: dbmconf.c
COBOL: dbmconf.cbl |
|
dbsnap
C: dbsnap.c
COBOL: dbsnap.cbl |
|
dbstart
C: dbstart.c
COBOL: dbstart.cbl |
|
dbstop
C: dbstop.c
COBOL: dbstop.cbl |
|
dcscat
C: dcscat.c
COBOL: dcscat.cbl |
|
dmscont
C: dmscont.c |
|
ebcdicdb
C: ebcdicdb.c
COBOL: ebcdicdb.cbl |
|
migrate
C: migrate.c
COBOL: migrate.cbl |
|
monreset
C: monreset.c
COBOL: monreset.cbl |
|
monsz
C: monsz.c
COBOL: monsz.cbl |
|
nodecat
C: nodecat.c
COBOL: nodecat.cbl |
|
restart
C: restart.c
COBOL: restart.cbl |
|
setact
C: setact.c
COBOL: setact.cbl |
|
setrundg
C: setrundg.c |
|
sws
C: sws.c
COBOL: sws.cbl |
|
utilapi
C: utilapi.c
C++: utilapi.C |
|
表 4. DB2 API 組み込み SQL サンプル・プログラム
サンプル・プログラム | 組み込み API |
---|---|
asynrlog
C: asynrlog.sqc |
|
autocfg
C: autocfg.sqc
C++: autocfg.sqC |
|
dbauth
C: dbauth.sqc
COBOL: dbauth.sqb |
|
dbstat
C: dbstat.sqc
COBOL: dbstat.sqb |
|
expsamp
C: expsamp.sqc
COBOL: expsamp.sqb |
|
impexp
C: impexp.sqc
COBOL: impexp.sqb |
|
loadqry
C: loadqry.sqc |
|
makeapi
C: makeapi.sqc |
|
rebind
C: rebind.sqc
COBOL: rebind.sqb |
|
rechist
C: rechist.sqc |
|
tabscont
C: tabscont.sqc
COBOL: tabscont.sqb |
|
tabspace
C: tabspace.sqc
COBOL: tabspace.sqb |
|
tload
C: tload.sqc
COBOL: tload.sqb |
|
tspace
C: tspace.sqc
COBOL: tspace.sqb |
|
utilemb
C: utilemb.sqc
C++: utilemb.C |
|
表 5. DB2 API なしの組み込み SQL サンプル・プログラム
サンプル・プログラム名 | プログラムの説明 |
---|---|
adhoc | 動的 SQL および SQLDA 構造を使用して SQL コマンドを対話式に処理する方法を示します。
SQL コマンドはユーザーによって入力され、SQL コマンドに応じた出力が返されます。
C: adhoc.sqc |
advsql | CASE、CAST、およびスカラー全選択などの拡張 SQL 式の使用例を示します。
C: advsql.sqc ; COBOL: advsql.sqb |
blobfile | 2 進ラージ・オブジェクト (BLOB) の操作例を、
BLOB 値をサンプル・データベースから読み取ってそれをファイル内に置くことにより示します。
この内容は、外部ビューアーを使用して表示できます。
C: blobfile.sqc |
columns | 動的 SQL を使用して処理されるカーソルの使用例を示します。
このプログラムは、指定のスキーマ名の下にある SYSCAT.COLUMNS から結果セットをリストします。
C: columns.sqc |
cursor | 静的 SQL を使用するカーソルの使用例を示します。
C: cursor.sqc ; C++: cursor.sqC ; COBOL: cursor.sqb |
delet | データベースから項目を削除する静的 SQL の使用例を示します。
|
dynamic | 動的 SQL を使用するカーソルの使用例を示します。
C: dynamic.sqc |
joinsql | 拡張 SQL 結合式の使用例を示します。
C: joinsql.sqc ; COBOL: joinsql.sqb |
largevol | 区分化された環境で並列照会処理を行う例、
および結果セットの組み合わせを自動化するための NFS ファイル・システムの使用例を示します。
AIX でのみ使用可能です。
C: largevol.sqc |
lobeval | LOB ロケーターの使用例を示し、実際の LOB データの評価を遅らせます。
C: lobeval.sqc ; COBOL: lobeval.sqb |
lobfile | LOB ファイル・ハンドルの使用例を示します。
C: lobfile.sqc ; COBOL: lobfile.sqb |
lobloc | LOB ロケーターの使用例を示します。
C: lobloc.sqc ; COBOL: lobloc.sqb |
lobval | LOB の使用例を示します。
C: lobval.sqc |
openftch | 静的 SQL を使用した行の取り出し、更新、および削除について示します。
C: openftch.sqc ; COBOL: openftch.sqb |
recursql | 拡張 SQL 再帰的照会の使用例を示します。
C: recursql.sqc |
sampudf | 表エントリーを修正するための、
ユーザー定義タイプ (UDT) およびユーザー定義関数 (UDF) の使用例を示します。
このプログラムで宣言される UDF は、ソース UDF です。
C: sampudf.sqc |
spclient | spserver 共用ライブラリー内のストアード・プロシージャーを呼び出すクライアント・アプリケーション。
C: spclient.sqc ; C++: spclient.sqC |
spcreate.db2 | spserver プログラムによって作成されたストアード・プロシージャーを登録するための CREATE PROCEDURE ステートメントを含む CLP スクリプト。
C/C++: spcreate.db2 |
spdrop.db2 | spserver プログラムによって作成されたストアード・プロシージャーの登録を解除するために必要な DROP PROCEDURE ステートメントを含む CLP スクリプト。
C/C++: spdrop.db2 |
spserver | ストアード・プロシージャーのデモを示すサーバー・プログラム。
クライアント・プログラムは spclient です。
C: spserver.sqc ; C++: spserver.sqC |
static | 情報を検索する静的 SQL を示します。
C: static.sqc ; C++: static.sqC ; COBOL: static.sqb |
tabsql | 拡張 SQL 表式の使用例を示します。
C: tabsql.sqc ; COBOL: tabsql.sqb |
tbdefine | 表の作成方法および除去方法を示します。
C: tbdefine.sqc |
thdsrver | スレッドの作成と管理用の POSIX スレッド API の使用例を示します。
プログラムは、コンテキストのプールを保守します。
generate_work 関数がメインから実行され、
作業スレッドが実行する動的 SQL ステートメントを作成します。
コンテキストが使用可能になったとき、
スレッドが作成され、指定された作業を行うためにディスパッチされます。
生成された作業は、
sample データベースの STAFF 表または EMPLOYEE 表のどちらかからの項目を削除するステートメントで成っています。
このプログラムは、UNIX プラットフォームでのみ使用可能です。
C: thdsrver.sqc ; C++: thdsrver.sqC |
trigsql | 拡張 SQL トリガーおよび制約の使用例を示します。
C: trigsql.sqc ; COBOL: trigsql.sqb |
udfcli | udfsrv プログラムによって作成されるユーザー定義関数 (UDF) の呼び出しを例示し、
sample データベースの表にアクセスするためにサーバー上に保管されます。
C: udfcli.sqc ; C++: udfcli.sqC |
updat | データベースを更新する静的 SQL の使用例を示します。
|
varinp | パラメーター・マーカーを使用した組み込み動的 SQL ステートメント呼び出しへの変数入力を示します。
C: varinp.sqc ; COBOL: varinp.sqb |
サンプル・プログラム名 | プログラムの説明 |
---|---|
DB2Udf.java
| 整数除算、文字ラージ・オブジェクト (CLOB) の操作、 および Java インスタンス変数の使用を含む複数のタスクの実例を示す Java UDF。 |
udfsrv.c
| ユーザー定義関数 ScalarUDF でライブラリーを作成し、 サンプル・データベース表にアクセスします。 |
UDFsrv.java
| Java ユーザー定義関数 (UDF) の使用例を示します。 |
表 7. DB2 ユニバーサル・データベースのサンプル CLI プログラム
サンプル・プログラム名 | プログラムの説明 | ||
---|---|---|---|
共通ユーティリティー・ファイル | |||
utilcli.c
| CLI サンプルで使用されるユーティリティー関数。 | ||
utilapi.c
| DB2 API を呼び出すユーティリティー関数。 | ||
アプリケーション・レベル - DB2 と CLI のアプリケーション・レベルを扱うサンプル。 | |||
apinfo.c
| アプリケーション・レベル情報の入手および設定方法。 | ||
aphndls.c
| ハンドルの割り当ておよび解放方法。 | ||
apsqlca.c
| SQLCA データの処理方法。 | ||
インストール・イメージ・レベル - DB2 と CLI のインストール・イメージ・レベルを扱うサンプル。 | |||
ilinfo.c
| インストール・レベル情報 (CLI ドライバーのバージョンなど) の入手および設定方法。 | ||
インスタンス・レベル - DB2 と CLI のインスタンス・レベルを扱うサンプル。 | |||
ininfo.c
| インスタンス・レベル情報の入手および設定方法。 | ||
データベース・レベル - DB2 内のデータベース・オブジェクトを扱うサンプル。 | |||
dbconn.c
| データベースからの接続および切断方法。 | ||
dbinfo.c
| データベース・レベルの情報の入手および設定方法。 | ||
dbmconn.c
| 複数のデータベースからの接続および切断方法 (DB2 API を使用して 2 番目のデータベースを作成および除去する)。 | ||
dbmuse.c
| 複数のデータベースとのトランザクションの実行方法 (DB2 API を使用して 2 番目のデータベースを作成および除去する)。 | ||
dbnative.c
| ODBC エスケープ文節を含むステートメントを、 データ・ソース特有の形式に変換する方法。 | ||
dbuse.c
| データベース・オブジェクトの処理方法。 | ||
dbusemx.sqc
| 組み込み SQL とともに単一データベースを使用する方法。 | ||
表レベル - DB2 内の表オブジェクトを扱うサンプル。 | |||
tbconstr.c
| 表の制約の処理方法。 | ||
tbconstr.c
| 表の作成、更新、および除去方法。 | ||
tbinfo.c
| 表レベルの情報の入手および設定方法。 | ||
tbmod.c
| 表内の情報の修正方法。 | ||
tbread.c
| 表内の情報の読み取り方法。 | ||
データ・タイプ・レベル - データ・タイプを扱うサンプル。 | |||
dtinfo.c
| データ・タイプに関する情報の入手方法。 | ||
dtlob.c
| LOB データの読み取りおよび書き込み方法。 | ||
dtudt.c
| ユーザー定義特殊タイプの作成、使用、および除去方法。 | ||
UDF レベル - ユーザー定義関数を示すサンプル。 | |||
udfcli.c
| udfsrv.c 内のユーザー定義関数を呼び出すクライアント・アプリケーション。 | ||
udfsrv.c
| udfcli.c サンプルによって呼び出されるユーザー定義関数 ScalarUDF。 | ||
ストアード・プロシージャー・レベル - CLI 内のストアード・プロシージャーを示すサンプル。 | |||
spcreate.db2 | CREATE PROCEDURE ステートメントを発行するための CLP スクリプト。 | ||
spdrop.db2 | カタログからストアード・プロシージャーを除去するための CLP スクリプト。 | ||
spclient.c
| spserver.c 内で宣言されるサーバー関数を呼び出すために使用されるクライアント・プログラム。 | ||
spserver.c
| サーバー上で構築および実行されるストアード・プロシージャー関数。 | ||
spcall.c
| ストアード・プロシージャーを呼び出すためのプログラム。 | ||
|
表 8. Java データベース・コネクティビティー (JDBC) サンプル・プログラム
サンプル・プログラム名 | プログラムの説明 |
---|---|
DB2Appl.java
| 呼び出しユーザー特権を使用してサンプル・データベースを照会する、JDBC アプリケーション。 |
DB2Applt.java
| JDBC アプレット・ドライバーを使用してデータベースを照会する JDBC アプレット。
DB2Applt.html で指定されるユーザー名、 パスワード、サーバー、およびポート番号パラメーターを使用します。 |
DB2Applt.html
|
DB2Applt
アプレット・サンプル・プログラムを組み込む HTML ファイル。
このファイルは、サーバーおよびユーザー情報でカスタマイズする必要があります。
|
DB2UdCli.java
| Java ユーザー定義関数、 DB2Udf を呼び出す Java クライアント・アプリケーション。 |
Dynamic.java
| 動的 SQL を使うカーソルの使用例を示します。 |
MRSPcli.java
| これは、サーバー・プログラム MRSPsrv を呼び出すクライアント・プログラムです。 このプログラムは、Java ストアード・プロシージャーから戻される複数の結果セットを示します。 |
MRSPsrv.java
| これは、クライアント・プログラム MRSPcli が呼び出すサーバー・プログラムです。 このプログラムは、Java ストアード・プロシージャーから戻される複数の結果セットを示します。 |
Outcli.java
| SQLJ ストアード・プロシージャー、 Outsrv を呼び出す Java クライアント・アプリケーション。 |
PluginEx.java
| 新しいメニュー項目およびツールバー・ボタンを、 DB2 Web コントロール・センターに追加する Java プログラム。 |
Spclient.java
|
Spserver
ストアード・プロシージャー・クラス内の PARAMETER STYLE JAVA ストアード・プロシージャーを呼び出す JDBC クライアント・アプリケーション。
|
Spcreate.db2
| ストアード・プロシージャーとして Spserver クラス内に含まれているメソッドを登録するための CREATE PROCEDURE ステートメントを含む CLP スクリプト。 |
Spdrop.db2
| Spserver クラス内に含まれているストアード・プロシージャーの登録を解除するために必要な DROP PROCEDURE ステートメントを含む CLP スクリプト。 |
Spserver.java
| PARAMETER STYLE JAVA ストアード・プロシージャーのデモを示す JDBC プログラム。 クライアント・プログラムは Spclient.java です。 |
UDFcli.java
| Java ユーザー定義関数ライブラリー UDFsrv にある関数を呼び出す、 JDBC クライアント・アプリケーション。 |
UseThrds.java
| SQL ステートメントを非同期で実行するためにスレッドを使用する方法を示します (CLI サンプル async.c の JDBC バージョン)。 |
V5SpCli.java
| DB2GENERAL ストアード・プロシージャー、 V5Stp.java を呼び出す Java クライアント・アプリケーション。 |
V5Stp.java
| サーバー上の EMPLOYEE 表を更新し、 クライアントに新しい給与および給与計算情報を戻す DB2GENERAL ストアード・プロシージャーのデモを示します。 クライアント・プログラムは V5SpCli.java です。 |
Varinp.java
| パラメーター・マーカーを使用した組み込み動的 SQL ステートメント呼び出しへの変数入力を示します。 |
表 9. Java Embedded SQL (SQLJ) サンプル・プログラム
サンプル・プログラム名 | プログラムの説明 |
---|---|
App.sqlj
| サンプル・データベースの EMPLOYEE 表からデータを検索し更新するために、 静的 SQL を使用します。 |
Applt.sqlj
| JDBC アプレット・ドライバーを使用してデータベースを照会するアプレット。
Applt.html で指定されるユーザー名、 パスワード、サーバー、およびポート番号パラメーターを使用します。 |
Applt.html
|
Applt
アプレット・サンプル・プログラムを組み込む HTML ファイル。
このファイルは、サーバーおよびユーザー情報でカスタマイズする必要があります。
|
Cursor.sqlj
| 静的 SQL を使用するイテレーターを示します。 |
OpF_Curs.sqlj
|
Openftch
プログラム用のクラス・ファイル。
|
Openftch.sqlj
| 静的 SQL を使用した行の取り出し、更新、および削除について示します。 |
Outsrv.sqlj
| SQLDA 構造を使用するストアード・プロシージャーを示します。
このプログラムは、sample データベースの STAFF 表にある従業員の給与の中央値を SQLDA に記入します。
データベースの処理 (中央値を求める) 後、
ストアード・プロシージャーは、
値を記入した SQLDA と SQLCA 状況とを JDBC クライアント・アプリケーション、
Outcli に戻します。 |
Stclient.sqlj
| SQLJ ストアード・プロシージャー・プログラム Stserver によって作成された PARAMETER STYLE JAVA ストアード・プロシージャーを呼び出す SQLJ クライアント・アプリケーション。 |
Stcreate.db2
| ストアード・プロシージャーとして Stserver クラス内に含まれているメソッドを登録するための CREATE PROCEDURE ステートメントを含む CLP スクリプト。 |
Stdrop.db2
| Stserver クラス内に含まれているストアード・プロシージャーの登録を解除するために必要な DROP PROCEDURE ステートメントを含む CLP スクリプト。 |
Stserver.sqlj
| PARAMETER STYLE JAVA ストアード・プロシージャーのデモを示す SQLJ プログラム。 クライアント・プログラムは Stclient.sqlj です。 |
Static.sqlj
| 静的 SQL を使用して情報を検索します。 |
Stp.sqlj
| サーバー上の EMPLOYEE 表を更新し、 JDBC クライアント・プログラム StpCli に新しい給料および給与計算情報を返すストアード・プロシージャー。 |
UDFclie.sqlj
| Java ユーザー定義関数ライブラリー UDFsrv から関数を呼び出す、 クライアント・アプリケーション。 |
Updat.sqlj
| 静的 SQL を使用してデータベースを更新します。 |
サンプル・プログラム名 | プログラムの説明 |
---|---|
basecase.db2 | UPDATE_SALARY プロシージャーは、 "sample" データベースの "staff" 表内の "empno" の IN パラメーターによって識別される従業員の給料を上昇させます。 このプロシージャーは、 "rating" の IN パラメーターを使用する CASE ステートメントによって上昇率を判別します。 |
basecase.sqc | UPDATE_SALARY プロシージャーを呼び出します。 |
baseif.db2 | UPDATE_SALARY_IF プロシージャーは、 "sample" データベースの "staff" 表内の "empno" の IN パラメーターによって識別される従業員の給料を上昇させます。 このプロシージャーは、 "rating" の IN パラメーターを使用する IF ステートメントによって上昇率を判別します。 |
baseif.sqc | UPDATE_SALARY_IF プロシージャーを呼び出します。 |
dynamic.db2 | CREATE_DEPT_TABLE プロシージャーは、動的 DDL を使用して新しい表を作成します。 表の名前は、このプロシージャーの IN パラメーターの値に基づいています。 |
dynamic.sqc | CREATE_DEPT_TABLE プロシージャーを呼び出します。 |
iterate.db2 | ITERATOR プロシージャーは、FETCH ループを使用して、 "department" 表からデータを検索します。 "deptno" 列の値が 'D11' でない場合、 修正されたデータが "department" 表の中に挿入されます。 "deptno" 列が 'D11' である場合、 ITERATE ステートメントは、LOOP ステートメントの冒頭に制御の流れを渡します。 |
iterate.sqc | ITERATOR プロシージャーを呼び出します。 |
leave.db2 | LEAVE_LOOP プロシージャーは、 "not_found" 条件ハンドラーが LEAVE ステートメントを呼び出す前に LOOP ステートメント内で実行される FETCH 操作の数をカウントします。 LEAVE ステートメントは、 制御の流れがループから出て、ストアード・プロシージャーを完了するようにします。 |
leave.sqc | LEAVE_LOOP プロシージャーを呼び出します。 |
loop.db2 | LOOP_UNTIL_SPACE プロシージャーは、 カーソルが "midinit" 列のスペース (' ') 値を持つ行を検索するまで、 LOOP ステートメント内で実行される FETCH 操作の数をカウントします。 LOOP ステートメントは、 制御の流れがループから出て、ストアード・プロシージャーを完了するようにします。 |
loop.sqc | LOOP_UNTIL_SPACE プロシージャーを呼び出します。 |
nestcase.db2 | BUMP_SALARY プロシージャーは、 ネストされた CASE ステートメントを使用して、 "sample" データベースの "staff" 表から部署の IN パラメーターによって識別される部署内の従業員の給料を上昇させます。 |
nestcase.sqc | BUMP_SALARY プロシージャーを呼び出します。 |
nestif.db2 | BUMP_SALARY_IF プロシージャーは、 ネストされた IF ステートメントを使用して、 "sample" データベースの "staff" 表から部署の IN パラメーターによって識別される部署内の従業員の給料を上昇させます。 |
nestif.sqc | BUMP_SALARY_IF プロシージャーを呼び出します。 |
repeat.db2 | REPEAT_STMT プロシージャーは、 カーソルが行を検索できなくなるまで、繰り返しステートメント内で実行される FETCH 操作の数をカウントします。 条件ハンドラーは、制御の流れが繰り返しループから出て、 ストアード・プロシージャーを完了するようにします。 |
repeat.sqc | REPEAT_STMT プロシージャーを呼び出します。 |
rsultset.c | MEDIAN_RESULT_SET プロシージャーを呼び出し、 給与の中央値を表示し、SQL プロシージャーによって生成された結果セットを表示します。 このクライアントは、結果セットを扱える CLI API で書き出されます。 |
rsultset.db2 | MEDIAN_RESULT_SET プロシージャーは、 "sample" データベースの "staff" 表から "dept" の IN パラメーターによって識別される部署内の従業員の給与の中央値を入手します。 給与の中央値は、給料の OUT パラメーターに割り当てられ、 "rsultset" クライアントに戻されます。 次に、このプロシージャーは、 WITH RETURN カーソルをオープンし、 中央値よりも高い給料の従業員の結果セットを戻します。 このプロシージャーは、クライアントに結果セットを戻します。 |
spserver.db2 | この CLP スクリプト内の SQL プロシージャーは、 基本的なエラー処理、ネストされたストアード・プロシージャーの呼び出し、 クライアント・アプリケーションまたは呼び出し側アプリケーションに対して結果セットを戻することについてのデモを示します。 CLI サンプル・ディレクトリーで、"spcall" アプリケーションを使用してプロシージャーを呼び出すことができます。 C および CPP サンプル・ディレクトリーで、 "spclient" アプリケーションを使用して、結果セットを戻さないプロシージャーを呼び出すこともできます。 |
whiles.db2 | DEPT_MEDIAN プロシージャーは、 "sample" データベースの "staff" 表から "dept" の IN パラメーターによって識別される部署内の従業員の給与の中央値を入手します。 給与の中央値は、給料の OUT パラメーターに割り当てられ、 "whiles" クライアントに戻されます。 次に、whiles クライアントは、給与の中央値を印刷します。 |
whiles.sqc | DEPT_MEDIAN プロシージャーを呼び出します。 |
サンプル・プログラム名 | プログラムの説明 |
---|---|
Bank.vbp | 顧客アカウントでトランザクションを実行する機能を使用して、 銀行の支店に関するデータを作成し、保守する RDO プログラム。 このプログラムには、アプリケーションがデータを格納するために必要な表を作成する DDL が入っているので、 ユーザーが指定する任意のデータベースに使用できます。 |
Blob.vbp | この ADO プログラムは、BLOB データの検索について示します。 sample データベースの emp_photo 表から、 ピクチャーを検索し、表示します。 また、このプログラムは emp_photo 表のイメージを、 ローカル・ファイルからのイメージに置き換えることができます。 |
BLOBAccess.dsw | このサンプルは、Microsoft Visual C++ を使用した ADO/Blob 強調表示アクセスを示します。
これは Visual Basic サンプル、Blob.vbp と類似しています。
BLOB サンプルには次の 2 つのメイン関数があります。
|
Connect.vbp | この ADO プログラムは、sample データベースに対して接続オブジェクトを作成し、 接続を確立します。 いったん完了すると、プログラムは切断され、終了します。 |
Commit.vbp | このアプリケーションは、 ADO の自動確定 / 手動確定機能の使用例を示します。 プログラムは、従業員番号および名前を、 sample データベースの EMPLOYEE 表で照会します。 ユーザーは、自動確定または手動確定モードのどちらでデータベースに接続するか、 オプションで選択できます。 自動確定モードでは、ユーザーがレコード上で行うすべての変更は、 データベースで自動的に更新されます。 手動確定モードでは、ユーザーはトランザクションを開始してから、 変更を行う必要があります。 トランザクションが開始してから行われた変更は、 ロールバックを実行すれば取り消すことができます。 トランザクションをコミットすることによって、変更を永続的に保管できます。 プログラムを自動的に終了すると、変更がロールバックされます。 |
db2com.vbp | この Visual Basic プロジェクトは、Microsoft Transaction Server を使用した、
データベースの更新例を示します。
また、クライアント・プログラム db2mts.vbp が使用するサーバー DLL を作成します。
Visual Basic プロジェクトには、以下の 4 つのクラス・モジュールがあります。
|
db2mts.vbp | これは、Microsoft Transaction Server を使用して、 db2com.vbp から作成されたサーバー DLL を呼び出す、 クライアント・プログラム用の Visual Basic プロジェクトです。 |
Select-Update.vbp | この ADO プログラムは、Connect.vbp と同じ機能を実行しますが、 GUI インターフェースも提供しています。 このインターフェースを使用して、ユーザーは sample データベースの ORG 表に保管されたデータを表示、 更新、および削除することができます。 |
Sample.vbp | この Visual Basic プロジェクトは Keyset カーソルを使用し、ADO を経由して、 sample データベース中のすべてのデータにグラフィカル・ユーザー・インターフェースを提供します。 |
VarCHAR.dsp | ADO を使用してテキスト・フィールドとして VarChar にアクセスする、 Visual C++ プログラム。 グラフィカル・ユーザー・インターフェースを提供するので、 ユーザーは sample データベースの ORG 表のデータを表示および更新できます。 |
表 12. オブジェクトのリンクと埋め込み (OLE) サンプル・プログラム
サンプル・プログラム名 | プログラムの説明 |
---|---|
sales | Microsoft Excel スプレッドシート上でのロールアップ照会を示します (Visual Basic で実現)。 |
names | ロータス ノーツ・アドレス・ブックを照会します (Visual Basic で実現)。 |
inbox | OLE/メッセージ機能を使用する Microsoft Exchange インボックス E メール・メッセージを照会します (Visual Basic で実現)。 |
invoice | Microsoft Word インボイス文書を E メール接続として送信する OLE オートメーション・ユーザー定義関数 (Visual Basic で実現)。 |
bcounter | インスタンス変数を使用したスクラッチパッドのデモを示す OLE オートメーション・ユーザー定義関数 (Visual Basic で実現)。 |
ccounter | カウンター OLE オートメーション・ユーザー定義関数 (Visual C++ で実現)。 |
salarysrv | sample データベースの STAFF 表の給与の中央値を計算する OLE オートメーション・ストアード・プロシージャー (Visual Basic で実現)。 |
salarycltvc | Visual Basic ストアード・プロシージャー salarysrv を呼び出す Visual C++ 組み込み SQL サンプル。 |
salarycltvb | Visual Basic ストアード・プロシージャー salarysrv を呼び出す Visual Basic DB2 CLI サンプル。 |
testcli | ストアード・プロシージャー tstsrv を呼び出す OLE オートメーション組み込み SQL クライアント・アプリケーション (Visual C++ で実現)。 |
tstsrv | クライアントとストアード・プロシージャーの間での各種の受け渡しのデモを示す OLE オートメーション・ストアード・プロシージャー (Visual C++ で実現)。 |
表 13. オブジェクトのリンクと埋め込みデータベース (OLE DB) 表関数
サンプル・プログラム名 | プログラムの説明 |
---|---|
jet.db2 | Microsoft.Jet.OLEDB.3.51 Provider |
mapi.db2 | INTERSOLV Connect OLE DB for MAPI |
msdaora.db2 | Microsoft OLE DB Provider (Oracle 用) |
msdasql.db2 | Microsoft OLE DB Provider (ODBC ドライバー用) |
msidxs.db2 | Microsoft OLE DB Index Server Provider |
notes.db2 | INTERSOLV Connect OLE DB (ノーツ用) |
sampprov.db2 | Microsoft OLE DB Sample Provider |
sqloledb.db2 | Microsoft OLE DB Provider (SQL サーバー用) |
表 14. コマンド行プロセッサー (CLP) サンプル・プログラム
サンプル・ファイル名 | ファイルの説明 |
---|---|
const.db2 | CHECK CONSTRAINT 節がある表を作成します。 |
cte.db2 | 共通表式を示します。 この拡張 SQL ステートメントの例を示す同等のサンプル・プログラムは、 tabsql です。 |
flt.db2 | 再帰的照会を示します。 この拡張 SQL ステートメントの例を示す同等のサンプル・プログラムは、 recursql です。 |
join.db2 | 表の外部結合を示します。 この拡張 SQL ステートメントの例を示す同等のサンプル・プログラムは、 joinsql です。 |
stock.db2 | トリガーの使用例を示します。 この拡張 SQL ステートメントの例を示す同等のサンプル・プログラムは、 trigsql です。 |
testdata.db2 | ランダムに生成されるテスト・データを表に入れるための RAND() および TRANSLATE() などの DB2 組み込み関数を使用します。 |
thaisort.db2 | このスクリプトは、タイ語を使用するユーザー専用です。 タイ語の発音順のソートでは、 主な母音と子音の事前ソートとスワップが必要になります。 同じように、正確なソート順でデータを表示するために事後ソートも必要になります。 ファイルでタイ語のソートを実現するには、 事前ソートと事後ソートを行う UDF 関数を作成し、表を作成します。 次いで、表データをソートするためにその表に対して関数を呼び出します。 このプログラムを実行するには、最初に C ソース・ファイル udf.c からユーザー定義関数プログラム udf を作成しなければなりません。 |
サンプル・ファイル名 | ファイルの説明 |
---|---|
db2uext2.cadsm | これは、データベース・ログ・ファイルを保存し検索するために、 ADSTAR DSM (ADSM) API を使用するサンプル・ユーザー出口です。 このサンプルは、 タイム・スタンプと受け取ったパラメーターを含む呼び出しの監査証跡 (オプションごとに別々のファイルに保存) を提供します。 また、問題判別のために、 エラーのタイム・スタンプとエラー分離ストリングを含む呼び出しのエラー証跡も提供します。 これらのオプションは使用不能であることがあります。 このファイルは、db2uext2.c に名前変更し、C プログラムとしてコンパイルしなければなりません。 UNIX および Windows 32 ビット・オペレーティング・システムで使用可能です。 OS/2 版は、db2uexit.cad です。 |
db2uexit.cad | これは、db2uext2.cadsm の OS/2 版です。 このファイルは、db2uexit.c に名前変更し、 C プログラムとしてコンパイルしなければなりません。 |
db2uext2.cdisk | これは、出荷時の特定のプラットフォームに合わせた、 システム・コピー・コマンドを使用するサンプル・ユーザー出口です。 このプログラムは、 タイム・スタンプと受け取ったパラメーターを含む呼び出しの監査証跡 (オプションごとに別々のファイルに保存) を提供します。 また、問題判別のために、 エラーのタイム・スタンプとエラー分離ストリングを含む呼び出しのエラー証跡も提供します。 これらのオプションは使用不能であることがあります。 このファイルは、db2uext2.c に名前変更し、C プログラムとしてコンパイルしなければなりません。 UNIX および Windows 32 ビット・オペレーティング・システムで使用可能です。 |
db2uext2.ctape | これは、出荷時の特定の UNIX プラットフォームに合わせた、 システム・テープ・コマンドを使用するサンプル・ユーザー出口です。 プログラムは、データベース・ログ・ファイルをアーカイブおよび検索します。 システム・テープ・コマンドの制限すべてが、このユーザー出口の制限になります。 このサンプルは、 タイム・スタンプと受け取ったパラメーターを含む呼び出しの監査証跡 (オプションごとに別々のファイルに保存) を提供します。 また、問題判別のために、 エラーのタイム・スタンプとエラー分離ストリングを含む呼び出しのエラー証跡も提供します。 これらのオプションは使用不能であることがあります。 このファイルは、db2uext2.c に名前変更し、C プログラムとしてコンパイルしなければなりません。 UNIX プラットフォームでのみ使用可能です。 |