8.4.1 UAP実行時の注意事項
UAPを実行する場合の注意事項を次に示します。
(1) 文字コード種別についての注意事項
UNIX版のHiRDBクライアントを使ってUAPを実行する場合は,HiRDBサーバとの接続時に,HiRDBサーバの文字コード種別(サーバがUNIX版の場合はpdsetupコマンド,Windows版の場合はpdntenvコマンドで指定した文字コード種別)をチェックできます。
HiRDBサーバの文字コード種別をチェックする場合は,HiRDBサーバの文字コード種別に合わせて,環境変数LANG,又はクライアント環境定義PDLANGを設定してください。LANG又はPDLANGで指定した文字コード種別とHiRDBサーバの文字コード種別が異なると,サーバ接続時にエラーとなります。このとき出力するエラーメッセージ(KFPA11990-E)にHiRDBサーバの文字コード種別が表示されます。
HiRDBサーバの文字コード種別をチェックする場合の,LANG又はPDLANGの設定値を次の表に示します。この表でPDLANGを設定するケースでは,PDLANGを省略してLANGでHiRDBサーバの文字コード種別を指定しても有効になりません。
HiRDBサーバの文字コード種別※ |
HiRDBクライアントのプラットフォームの環境変数 |
|||||
---|---|---|---|---|---|---|
HP-UX |
AIX |
Linux |
||||
LANG |
PDLANG |
LANG |
PDLANG |
LANG |
PDLANG |
|
lang-c |
C |
− |
C |
− |
C |
− |
sjis |
ja_JP.SJIS |
− |
Ja_JP |
− |
任意 |
SJIS |
ujis |
ja_JP.eucJP |
− |
ja_JP |
− |
ja_JP.eucJP又はja_JP |
− |
chinese |
任意 |
CHINESE |
任意 |
CHINESE |
任意 |
CHINESE |
utf-8 utf-8_ivs |
任意 |
UTF-8 |
任意 |
UTF-8 |
任意 |
UTF-8 |
chinese-gb18030 |
任意 |
CHINESE-GB18030 |
任意 |
CHINESE-GB18030 |
任意 |
CHINESE-GB18030 |
- (凡例)
-
- −:
-
PDLANGには値を設定しないでください。LANGにはこの表に記載されている値(HiRDBサーバの文字コード種別に対応するロケール名)を設定してください。各プラットフォームで,PDLANGにこの表に記載されていない値を設定した場合は,PDLANGの設定を無視します。例えば,この表のHP-UXの列にはPDLANGの値としてSJISが記載されてないため,HP-UXでPDLANGにSJISを設定しても,PDLANGを省略しても,結果は同じになります。
- 任意:
-
PDLANGにこの表に記載されている値を設定すると,HiRDBクライアントはLANGを参照しないため,LANGにはプラットフォームがサポートしている任意のロケール名を設定できます。
- 注※
-
pdsetupコマンド又はpdntenvコマンドで指定したHiRDBサーバの文字コード種別を表します。
(2) SHLIB_PATHについての注意事項
UAP実行時には,SHLIB_PATHに$PDDIR/client/libを追加してください。なお,SHLIB_PATHは,それぞれのプラットフォームの環境変数に読み替えてください。
(3) HiRDBに回復不要FESがある場合の注意事項
HiRDBに回復不要FESがある場合,X/Open XAインタフェースを使用するUAPから回復不要FESに接続したときは,そのUAPからはSQLが実行できません。この場合,クライアント環境定義PDFESHOST及びPDSERVICEGRPを指定して,回復不要FESでないフロントエンドサーバに接続してください。
(4) Windowsでの注意事項
Windowsでは,HiRDBクライアントが取得した通信用ソケットに対して他プログラムが既に使用している受信ポートが割り当てられることがあります。同一の受信ポートが割り当てられると,接続時にHiRDBサーバからの電文が他プログラムに送信され,HiRDBクライアントは電文を受信することができなくなり,KFPA11732-Eエラー(受信タイムアウト)となります。このようなことを防ぐため,UAPを実行する場合は,受信ポートが重複しないように対策する必要があります。
受信ポートが重複する場合の条件と対策方法を次の表に示します。
後発のクライアント |
先発のクライアント |
|||||||
---|---|---|---|---|---|---|---|---|
バージョン08-03より前のライブラリ |
バージョン08-03以降のライブラリ |
|||||||
PDCLTBINDLOOPBACKADDR=YES |
PDCLTBINDLOOPBACKADDR=NO |
|||||||
PDCLTRCVPORT指定あり |
PDCLTRCVPORT指定なし |
PDCLTRCVPORT指定あり |
PDCLTRCVPORT指定なし |
PDCLTRCVPORT指定あり |
PDCLTRCVPORT指定なし |
|||
バージョン08-03より前のライブラリ |
PDCLTRCVPORT指定あり |
− |
− |
− |
− |
− |
− |
|
PDCLTRCVPORT指定なし |
− |
− |
− |
− |
− |
×1 |
||
バージョン08-03以降のライブラリ |
PDCLTBINDLOOPBACKADDR=YES |
PDCLTRCVPORT指定あり |
− |
− |
− |
− |
− |
− |
PDCLTRCVPORT指定なし |
− |
− |
− |
− |
− |
− |
||
PDCLTBINDLOOPBACKADDR=NO |
PDCLTRCVPORT指定あり |
− |
− |
− |
− |
− |
− |
|
PDCLTRCVPORT指定なし |
− |
×1 |
− |
− |
− |
− |
||
Type4 JDBCドライバ |
PDCLTBINDLOOPBACKADDR=YES |
PDCLTRCVPORT指定あり |
− |
− |
− |
− |
− |
− |
PDCLTRCVPORT指定なし |
− |
− |
− |
− |
− |
×1 |
||
PDCLTBINDLOOPBACKADDR=NO |
PDCLTRCVPORT指定あり |
− |
− |
− |
− |
− |
− |
|
PDCLTRCVPORT指定なし |
− |
×1 |
− |
×1 |
− |
×1 |
後発のクライアント |
先発のクライアント,HiRDBサーバ,又はその他のプログラム |
||||||
---|---|---|---|---|---|---|---|
Type4 JDBCドライバ |
HiRDBサーバ又はその他プログラム |
||||||
PDCLTBINDLOOPBACKADDR=YES |
PDCLTBINDLOOPBACKADDR=NO |
||||||
PDCLTRCVPORT指定あり |
PDCLTRCVPORT指定なし |
PDCLTRCVPORT指定あり |
PDCLTRCVPORT指定なし |
||||
バージョン08-03より前のライブラリ |
PDCLTRCVPORT指定あり |
− |
− |
− |
− |
− |
|
PDCLTRCVPORT指定なし |
− |
− |
− |
×1 |
×2 |
||
バージョン08-03以降のライブラリ |
PDCLTBINDLOOPBACKADDR=YES |
PDCLTRCVPORT指定あり |
− |
− |
− |
− |
− |
PDCLTRCVPORT指定なし |
− |
− |
− |
×1 |
×2 |
||
PDCLTBINDLOOPBACKADDR=NO |
PDCLTRCVPORT指定あり |
− |
− |
− |
− |
− |
|
PDCLTRCVPORT指定なし |
− |
×1 |
− |
×1 |
×2 |
||
Type4 JDBCドライバ |
PDCLTBINDLOOPBACKADDR=YES |
PDCLTRCVPORT指定あり |
− |
− |
− |
− |
− |
PDCLTRCVPORT指定なし |
− |
− |
− |
×1 |
×2 |
||
PDCLTBINDLOOPBACKADDR=NO |
PDCLTRCVPORT指定あり |
− |
− |
− |
− |
×2 |
|
PDCLTRCVPORT指定なし |
− |
×1 |
− |
×1 |
×2 |
- (凡例)
-
- −:
-
受信ポートは重複しないため,対策の必要はありません。
- ×1:
-
受信ポートが重複します。先発のクライアント,及び後発のクライアントのクライアント環境変数PDCLTRCVPORTでポート番号の範囲を指定し,それぞれのプログラムが使用するポート番号が重複しないようにしてください。
- ×2:
-
受信ポートが重複します。後発のクライアントのクライアント環境変数PDCLTRCVPORTで,HiRDBサーバ又はその他のプログラムが使用しないポート番号を指定し,それぞれのプログラムが使用するポート番号が重複しないようにしてください。