16.3.1 クライアント環境定義(環境変数の設定)
UAPを実行するためには,HiRDBクライアントごとにクライアント環境定義を設定しておく必要があります。
- 〈この項の構成〉
(1) クライアント環境定義の設定形式
クライアント環境定義の設定形式については,マニュアル「HiRDB UAP開発ガイド」の「クライアント環境定義の設定形式」を参照してください。
(2) OLTP下のX/Openに従ったAPIを使用したUAPをクライアントとする場合の指定方法
構造型DB機能を使用するHiRDBでは,OpenTP1下のUAPだけをサポートします。
OpenTP1下のUAPについては,マニュアル「HiRDB UAP開発ガイド」の「OLTP下のX/Openに従ったAPIを使用したUAPをクライアントとする場合の指定方法」の次の項目を参照してください。
-
「OpenTP1下のUAPをクライアントとする場合」
-
「TP1/EE下のUAPをクライアントとする場合(UNIX版限定)」
(3) クライアント環境定義の一覧
クライアント環境定義の一覧を次の表に示します。クライアント環境定義の各オペランドの説明については,マニュアル「HiRDB UAP開発ガイド」の「クライアント環境定義の設定内容」を参照してください。
- 参考
-
DMLを記述したUAPのプリプロセス時に参照する環境変数PDCBLLIBについては,次のマニュアルを参照してください。
-
マニュアル「HiRDB 構造型データベース機能(UAP開発編)」の「DMLプリプロセサ(pdsdbcblコマンド)」の「環境変数の設定」
-
表中の「番号」欄は,マニュアル「HiRDB UAP開発ガイド」の「クライアント環境定義の設定内容」での,各クライアント環境定義のオペランドの番号と対応しています。
なお,クライアント環境定義のオペランドのうち,SDBデータベースを操作するAPIまたはDMLの実行時に有効とならないオペランドがあります。「有効/無効」欄が×のオペランドは,SDBデータベースを操作するAPIまたはDMLの実行時に有効となりません。
番号 |
環境変数名 |
有効/無効 |
環境変数の分類 |
---|---|---|---|
1 |
PDHOST |
○ |
システム構成※1 |
2 |
PDNAMEPORT |
○ |
|
3 |
PDFESHOST |
○ |
|
4 |
PDSERVICEGRP |
○ |
|
5 |
PDSRVTYPE |
○ |
|
6 |
PDSERVICEPORT |
○ |
|
7 |
PDFESGRP |
○ |
|
8 |
PDCLTRCVPORT |
○ |
|
9 |
PDCLTRCVADDR |
○ |
|
10 |
PDTMID |
○ |
OLTP下のX/Openに従ったAPIを使用するクライアント |
11 |
PDXAMODE |
○ |
|
12 |
PDTXACANUM |
○ |
|
13 |
PDXARCVWTIME |
○ |
|
14 |
PDXATRCFILEMODE |
○ |
|
15 |
PDXAAUTORECONNECT |
○ |
|
16 |
HiRDB_PDHOST |
○ |
|
17 |
HiRDB_PDNAMEPORT |
○ |
|
18 |
HiRDB_PDTMID |
○ |
|
19 |
HiRDB_PDXAMODE |
○ |
|
20 |
PDUSER |
○ |
ユーザ実行環境 |
21 |
PDCLTAPNAME |
○ |
|
22 |
PDCLTLANG |
○ |
|
23 |
PDLANG |
○ |
|
24 |
PDDBLOG |
○ |
|
25 |
PDEXWARN |
△※4 |
|
26 |
PDSUBSTRLEN |
× |
|
27 |
PDCLTCNVMODE |
△※5 |
|
28 |
PDCLTGAIJIDLL |
× |
|
29 |
PDCLTGAIJIFUNC |
× |
|
30 |
PDCLTCNVUOCLIB |
× |
|
31 |
PDCLTCNVUOCFUNC |
× |
|
32 |
PDCLTCNVBYTERATIO |
× |
|
33 |
PDCLTGRP |
○ |
|
34 |
PDAUTORECONNECT |
○ |
|
35 |
PDRCCOUNT |
○ |
|
36 |
PDRCINTERVAL |
○ |
|
37 |
PDUAPENVFILE |
○ |
|
38 |
PDDBBUFLRU |
○ |
|
39 |
PDHATRNQUEUING |
○ |
|
40 |
PDCLTBINDLOOPBACKADDR |
× |
|
41 |
PDEXTDECCHECK |
× |
|
42 |
PDRCTIMING |
○ |
|
43 |
PDAUTHTYPE |
○ |
|
44 |
PDDEFAULTOPTION |
○ |
|
45 |
PDASTHOST |
× |
UAPからのコマンド実行 |
46 |
PDASTPORT |
× |
|
47 |
PDSYSTEMID |
× |
|
48 |
PDASTUSER |
× |
|
49 |
PDCMDWAITTIME |
× |
|
50 |
PDCMDTRACE |
× |
|
51 |
PDIPC |
○ |
プロセス間メモリ通信機能 |
52 |
PDSENDMEMSIZE |
○ |
|
53 |
PDRECVMEMSIZE |
○ |
|
54 |
PDCWAITTIME |
○ |
システム監視 |
55 |
PDSWAITTIME |
○ |
|
56 |
PDSWATCHTIME |
○ |
|
57 |
PDCWAITTIMEWRNPNT |
○ |
|
58 |
PDKALVL |
○ |
|
59 |
PDKATIME |
○ |
|
60 |
PDTIMEDOUTRETRY |
○ |
|
61 |
PDCONREFRCOUNT |
○ |
|
62 |
PDCONREFRINTERVAL |
○ |
|
63 |
PDNBLOCKWAITTIME |
○ |
|
64 |
PDCONNECTWAITTIME |
○ |
|
65 |
PDCLTPATH |
○ |
トラブルシュート |
66 |
PDSQLTRACE |
○ |
|
67 |
PDUAPERLOG |
○ |
|
68 |
PDERRSKIPCODE |
○ |
|
69 |
PDPRMTRC |
× |
|
70 |
PDPRMTRCSIZE |
× |
|
71 |
PDTRCMODE |
○ |
|
72 |
PDUAPREPLVL |
○ |
|
73 |
PDREPPATH |
○ |
|
74 |
PDTRCPATH |
○ |
|
75 |
PDSQLTRCOPENMODE |
○ |
|
76 |
PDSQLTEXTSIZE |
× |
|
77 |
PDSQLEXECTIME |
○ |
|
78 |
PDRCTRACE |
○ |
|
79 |
PDWRTLNPATH |
× |
|
80 |
PDWRTLNFILSZ |
× |
|
81 |
PDWRTLNCOMSZ |
× |
|
82 |
PDUAPEXERLOGUSE |
○ |
|
83 |
PDUAPEXERLOGPRMSZ |
× |
|
84 |
PDDNDPTRACE |
× |
|
85 |
PDSQLTRCFMT |
○ |
|
86 |
PDVWOPTMODE |
× |
アクセスパス表示ユティリティ用アクセスパス情報ファイル |
87 |
PDTAAPINFPATH |
× |
HiRDB SQL Tuning Advisor用アクセスパス情報ファイル |
88 |
PDTAAPINFMODE |
× |
|
89 |
PDTAAPINFSIZE |
× |
|
90 |
PDSTJTRNOUT |
○ |
UAPに関する統計情報の出力単位 |
91 |
PDLOCKLIMIT |
○ |
排他制御 |
92 |
PDDLKPRIO |
○ |
|
93 |
PDLOCKSKIP |
× |
|
94 |
PDFORUPDATEEXLOCK |
× |
|
95 |
PDISLLVL |
× |
SQL関連 |
96 |
PDSQLOPTLVL |
× |
|
97 |
PDADDITIONALOPTLVL |
× |
|
98 |
PDHASHTBLSIZE |
× |
|
99 |
PDDFLNVAL |
× |
|
100 |
PDAGGR |
× |
|
101 |
PDCMMTBFDDL |
× |
|
102 |
PDPRPCRCLS |
× |
|
103 |
PDAUTOCONNECT |
△※2 |
|
104 |
PDDDLDEAPRPEXE |
× |
|
105 |
PDDDLDEAPRP |
× |
|
106 |
PDLCKWAITTIME |
○ |
|
107 |
PDCURSORLVL |
× |
|
108 |
PDDELRSVWDFILE |
× |
|
109 |
PDCALCMDWAITTIME |
× |
|
110 |
PDSTANDARDSQLSTATE |
△※3 |
|
111 |
PDBLKF |
× |
ブロック転送機能 |
112 |
PDBINARYBLKF |
× |
|
113 |
PDBLKBUFFSIZE |
× |
|
114 |
PDBINDRETRYCOUNT |
○ |
HiRDBの通信処理 |
115 |
PDBINDRETRYINTERVAL |
○ |
|
116 |
PDDBACCS |
○ |
インナレプリカ機能 |
117 |
PDDBORGUAP |
× |
更新可能なオンライン再編成 |
118 |
PDSPACELVL |
× |
データの空白変換 |
119 |
PDCLTRDNODE |
× |
XDM/RD E2接続機能 |
120 |
PDTP1SERVICE |
× |
|
121 |
PDRDCLTCODE |
× |
|
122 |
PDCNSTRNTNAME |
× |
参照制約および検査制約 |
123 |
PDTMPTBLRDAREA |
× |
一時表 |
124 |
PDBESCONHOLD |
○ |
バックエンドサーバ接続保持機能 |
125 |
PDBESCONHTI |
○ |
|
126 |
PDODBSTATCACHE |
× |
ODBC関数 |
127 |
PDODBESCAPE |
× |
|
128 |
PDGDATAOPT |
× |
|
129 |
PDODBLOCATOR |
× |
|
130 |
PDODBSPLITSIZE |
× |
|
131 |
PDODBCWRNSKIP |
× |
|
132 |
PDJETCOMPATIBLE |
× |
|
133 |
PDODBGINFOSUPPRESS |
× |
|
134 |
PDODBSTANDARDARGSIZE |
× |
|
135 |
PDODBSTANDARDSQLSTATE |
× |
|
136 |
PDODBSTANDARDDESCCOL |
× |
|
137 |
PDODBSTANDARDGTYPEINFO |
× |
|
138 |
PDPLGIXMK |
× |
プラグイン |
139 |
PDPLUGINNSUB |
× |
|
140 |
PDPLGPFSZ |
× |
|
141 |
PDPLGPFSZEXP |
× |
|
142 |
PDHSICOPTIONS |
× |
HSIC限定 |
143 |
PDJDBFILEDIR |
× |
JDBCドライバ |
144 |
PDJDBFILEOUTNUM |
× |
|
145 |
PDJDBONMEMNUM |
× |
|
146 |
PDJDBTRACELEVEL |
× |
|
147 |
PDJDBFILESIZE |
× |
|
148 |
PDDNDPCOMPATIBLE |
× |
ADO.NET |
(4) SDBデータベースを操作するAPIまたはDMLの実行時にだけ指定できるクライアント環境定義
SDBデータベースを操作するAPIまたはDMLの実行時には,「表16-2 クライアント環境定義の一覧」で説明しているクライアント環境定義のオペランド以外に,次の表に示すオペランドが指定できます。
番号 |
環境変数名 |
環境変数の分類 |
---|---|---|
1 |
PDUAPEXERLOGDMLSZ |
トラブルシュート |
2 |
PDUAPEXERLOGDMLDATA |
|
3 |
PDSDBPRMTRC |
|
4 |
PDSDBTRCCNDSIZE |
|
5 |
PDSDBTRCELMSIZE |
|
6 |
PDSDBTRCKEYSIZE |
|
7 |
PDSDBTRCDATASIZE |
|
8 |
PDSDBUAPFILE |
ユーザ実行環境 |
9 |
PDSDBUAPDIR |
- ●PDUAPEXERLOGDMLSZ=DML履歴用バッファのサイズ
-
〜〈符号なし整数〉((0,6〜65,535))《80》(単位:キロバイト)
SDBデータベースを操作するAPIまたはDMLの実行時に確保するDML履歴用バッファのサイズをキロバイト単位で指定します。このオペランドに0を指定した場合は,DML履歴用バッファを確保しません。
DML履歴用バッファについては「16.5.4(2) DML履歴用バッファ」を参照してください。
- 《見積もり方法》
-
指定値は,次の計算式から見積もってください。
指定値=↑{(2.5+ukey_size)×req_num}↑(単位:キロバイト)
ukey_size:操作するレコードのユーザキーのサイズ(単位:キロバイト)
req_num:同一トランザクション内でのSDBデータベースを操作するAPIの要求回数,または同一トランザクション内でのDMLの要求回数
- 《留意事項》
-
-
pdsdbexeコマンドを使ってアクセスする場合,見積もり方法の計算式で求めた値に,以下の計算式で求めた値を加算してください。
↑3.6×アクセスするSDBデータベースの数↑(単位:キロバイト)
-
見積もり方法の指定値は,平均的な使用を想定した場合の目安です。SDBデータベースを操作するAPIまたはDMLの実行時の要求内容によっては,DML履歴用バッファのサイズが不足することがあります。不足した場合,見積もり値より大きな値を指定してください。
-
一度の要求で複数のレコードに対してアクセスする要求の場合は,個々のアクセスごとに1回の要求として計算してください。複数のレコードに対してアクセスする要求については,マニュアル「TP1/Financial Service Platform プログラム作成の手引」の「SDBハンドラ制御(ee_sdh_〜)(C言語)」の「ee_sdh_accs」または「SDBハンドラ制御(CBLEESDH)」の「CBLEESDH('ACCS ')」を参照してください。
-
DML履歴用バッファに記録される情報が多くなるに従って,拡張SQLエラー情報に出力されるエリアダンプの出力量が増加します。その結果,拡張SQLエラー情報の出力に掛かる時間が増加します。SQL文,SDBデータベースを操作するAPIまたはDMLでエラーが発生した際の処理時間が,要求元のタイマ監視などで問題となる場合は,PDUAPEXERLOGDMLSZの指定値を見直してください。
-
DML履歴用バッファは,HiRDBサーバとの接続後,最初にSDBデータベースを操作するAPIまたはDMLが正常終了した際に確保されます。そのため,SQLしか要求しないでDML履歴用バッファを使用しない場合に,明示的に0を指定する必要はありません。
-
- ●PDUAPEXERLOGDMLDATA={YES|NO}
-
拡張SQLエラー情報の出力時,DMLINFの出力項目のうちSTORDATAをエラーログファイルに出力するかどうかを指定します。
- YES:
-
DMLINFの出力項目STORDATAをエラーログファイルに出力します。
- NO:
-
DMLINFの出力項目STORDATAをエラーログファイルに出力しません。
出力される拡張SQLエラー情報の詳細については,「16.5.4 拡張SQLエラー情報出力機能」を参照してください。
- ●PDSDBPRMTRC={YES|NO}
-
SQLトレースにDMLのパラメタ情報および実行結果の情報を出力するかどうかを指定します。
- YES:
-
DMLのパラメタ情報および実行結果の情報をSQLトレースに出力します。
- NO:
-
DMLのパラメタ情報および実行結果の情報をSQLトレースに出力しません。
SQLトレースに出力されるDMLのパラメタ情報および実行結果の情報の詳細については,「16.5.2 SQLトレース機能」を参照してください。
YESを指定した場合は,出力する情報量が増えます。そのため,SQLトレースファイルのサイズ(PDSQLTRACEの指定値)を大きくする必要があります。また,必要に応じて,出力するエリア情報の最大データ長(PDSDBTRCCNDSIZE,PDSDBTRCELMSIZE,PDSDBTRCKEYSIZE,PDSDBTRCDATASIZE)を指定して,出力する情報量を抑える対処をしてください。
- ●PDSDBTRCCNDSIZE=SQLトレースに出力する条件の値ブロックの最大データ長
-
〜〈符号なし整数〉((0〜2,000,000))《2,000,000》(単位:バイト)
SQLトレースに出力するキーとキー以外の条件の値ブロックの最大データ長を指定します。
このオペランドは,PDSDBPRMTRCオペランドにYESを指定した場合に有効になります。
このオペランドに0を指定した場合は,キーとキー以外の条件の値ブロックの情報をSQLトレースに出力しません。
このオペランドの指定を省略するか,または0以外を指定した場合は,キーとキー以外の条件の値ブロックに加えて,キーとキー以外の条件の条件ブロックの情報もSQLトレースに出力します。キーとキー以外の条件の値ブロックのデータ長が指定の最大データ長を超えたときは,指定の最大データ長までの情報を出力し,最大データ長を超える部分は出力しません。
キーの条件の条件ブロックおよび値ブロックの形式については,「図7-12 キーの条件の条件ブロックの形式」,「図7-14 キーの条件の値ブロックの形式」を参照してください。
キー以外の条件の条件ブロックおよび値ブロックの形式については,「図7-13 キー以外の条件の条件ブロックの形式」,「図7-15 キー以外の条件の値ブロック形式」を参照してください。
- ●PDSDBTRCELMSIZE=SQLトレースに出力する構成要素指定エリアの最大データ長
-
〜〈符号なし整数〉((0〜2,000,000))《2,000,000》(単位:バイト)
SQLトレースに出力する構成要素指定エリアの最大データ長を指定します。
このオペランドは,PDSDBPRMTRCオペランドにYESを指定した場合に有効になります。
このオペランドに0を指定した場合は,構成要素指定エリアの情報をSQLトレースに出力しません。
このオペランドの指定を省略するか,または0以外を指定した場合は,構成要素指定エリアの情報をSQLトレースに出力します。構成要素指定エリアのデータ長が指定の最大データ長を超えたときは,指定の最大データ長までの情報を出力し,最大データ長を超える部分は出力しません。
構成要素指定エリアの形式については,マニュアル「TP1/Financial Service Platform プログラム作成の手引」を参照してください。
- ●PDSDBTRCKEYSIZE=SQLトレースに出力するキー報告エリアのキー情報の最大データ長
-
〜〈符号なし整数〉((0〜2,000,000))《2,000,000》(単位:バイト)
SQLトレースに出力するキー報告エリアのキー情報の最大データ長を指定します。
このオペランドは,PDSDBPRMTRCオペランドにYESを指定した場合に有効になります。
このオペランドに0を指定した場合は,キー報告エリアのキー情報をSQLトレースに出力しません。
このオペランドの指定を省略するか,または0以外を指定した場合は,キー報告エリアのキー情報をSQLトレースに出力します。キー報告エリアのキー情報のデータ長が指定の最大データ長を超えたときは,指定の最大データ長までの情報を出力し,最大データ長を超える部分は出力しません。
SDBデータベース種別が4V FMBおよび4V AFMの場合のキー報告エリアのキー情報(キー部)の形式については,マニュアル「TP1/Financial Service Platform プログラム作成の手引」を参照してください。
SDBデータベース種別がSD FMBの場合のキー報告エリアのキー情報(キー部)の形式を次の図に示します。
図16‒1 キー報告エリアのキー情報(キー部)の形式(SD FMBのSDBデータベースの場合) - ●PDSDBTRCDATASIZE=SQLトレースに出力するデータ格納領域のレコード情報の最大データ長
-
〜〈符号なし整数〉((0〜2,000,000))《2,000,000》(単位:バイト)
SQLトレースに出力するデータ格納領域のレコード情報の最大データ長を指定します。
このオペランドは,PDSDBPRMTRCオペランドにYESを指定した場合に有効になります。
このオペランドに0を指定した場合は,データ格納領域のレコード情報をSQLトレースに出力しません。
このオペランドの指定を省略するか,または0以外を指定した場合は,データ格納領域のレコード情報をSQLトレースに出力します。データ格納領域のレコード情報のデータ長が指定の最大データ長を超えたときは,指定の最大データ長までの情報を出力し,最大データ長を超える部分は出力しません。
- ●PDSDBUAPFILE=SDB用UAP環境定義ファイル名
-
〜<識別子>((最大8文字))
このオペランドは,SDB用UAP環境定義に関するオペランドです。
UAPがSD FMBのSDBデータベースにアクセスする際に,使用するSDB用UAP環境定義ファイルの名称を指定します。
UAPを個別の実行環境で動作させる場合(実行するUAPに対してSDB用UAP環境定義を適用する場合),このオペランドを指定します。この指定をすることで,UAPごとに実行環境を切り替える運用ができます。
SDB用UAP環境定義については,次の個所を参照してください。
このオペランドの指定例を次に示します。
(例)
PDSDBUAPFILE=uapenv01
- 《留意事項》
-
-
このオペランドに指定したSDB用UAP環境定義の指定内容に誤りがある場合は,UAPがHiRDBサーバにCONNECTしたときにエラーになります。
-
SDB用UAP環境定義ファイル中にSDB用UAP環境定義の指定がない場合,このオペランドの指定は無効になります。そのため,SDB用UAP環境定義ファイルがないものとして動作します(エラーにはなりません)。
-
- ●PDSDBUAPDIR=SDB用UAP環境定義ファイルの格納ディレクトリ名
-
〜<識別子>((最大8文字))
このオペランドは,SDB用UAP環境定義に関するオペランドです。
$PDCONFPATH/pdsdbuapenv下にSDB用UAP環境定義ファイルを格納するディレクトリを作成する場合に,このオペランドを指定します。
$PDCONFPATH/pdsdbuapenv下に格納するSDB用UAP環境定義ファイルの数が多くなると,HiRDB/SDがファイルサーチする際の処理時間が長くなります。そのため,SDB用UAP環境定義ファイルの数が多くなる場合は,業務システムなどの単位で,$PDCONFPATH/pdsdbuapenv下にさらにディレクトリを作成することを推奨します。
このオペランドの指定例を次に示します。
(例)
PDSDBUAPDIR=system01
上記の例のように指定した場合,$PDCONFPATH/pdsdbuapenv/system01下にSDB用UAP環境定義ファイルを格納する必要があります。
PDSDBUAPFILEオペランドおよびPDSDBUAPDIRオペランドの指定有無によって,適用されるSDB用UAP環境定義ファイルが次のように決まります。
-
PDSDBUAPFILEオペランドだけを指定した場合(PDSDBUAPDIRオペランドを指定しない場合)
(例)
PDSDBUAPFILE=uapenv01
$PDCONFPATH/pdsdbuapenv下に格納されているSDB用UAP環境定義ファイル(uapenv01)が適用されます。
-
PDSDBUAPFILEオペランドおよびPDSDBUAPDIRオペランドを指定した場合
(例)
PDSDBUAPFILE=uapenv01
PDSDBUAPDIR=system01
$PDCONFPATH/pdsdbuapenv/system01下に格納されているSDB用UAP環境定義ファイル(uapenv01)が適用されます。
-