8.4.1 UAP実行時の注意事項
UAPを実行する場合の注意事項を次に示します。
(1) 文字コード種別についての注意事項
UAPを実行する場合,HiRDBサーバの文字コード種別(UNIX版の場合はpdsetupコマンド,Windows版の場合はpdntenvコマンドで指定した文字コード種別)に合わせて,環境変数LANG,又はクライアント環境定義PDLANGを設定してください。HiRDBサーバとHiRDBクライアントで文字コード種別が異なると,UAP実行時にエラーとなります。プラットフォームごとのLANG及びPDLANGの設定値を次の表に示します。
文字コード種別※1 |
Windows |
HP-UX |
AIX |
Linux |
|
---|---|---|---|---|---|
lang-c |
LANG |
−※4 |
C |
C |
C |
PDLANG |
省略又はANY |
− |
− |
− |
|
sjis |
LANG |
−※4 |
ja_JP.SJIS |
Ja_JP |
任意※2 |
PDLANG |
省略又はANY |
− |
− |
SJIS |
|
ujis |
LANG |
−※4 |
ja_JP.eucJP |
ja_JP |
ja_JP.eucJP※3 |
PDLANG |
省略又はANY |
− |
− |
− |
|
chinese |
LANG |
−※4 |
chinese-s |
任意※2 |
任意※2 |
PDLANG |
省略又はANY |
CHINESE |
CHINESE |
CHINESE |
|
utf-8 utf-8_ivs |
LANG |
−※4 |
任意※2 |
任意※2 |
任意※2 |
PDLANG |
省略又はANY |
UTF-8 |
UTF-8 |
UTF-8 |
|
chinese-gb18030 |
LANG |
−※4 |
任意※2 |
任意※2 |
任意※2 |
PDLANG |
省略又はANY |
CHINESE-GB18030 |
CHINESE-GB18030 |
CHINESE-GB18030 |
- (凡例)
-
−:値を設定しないでください。
- 注※1
-
pdsetup又はpdntenvで指定したHiRDBサーバの文字コード種別を表します。
- 注※2
-
使用するプラットフォームで対応する文字コードがサポートされている場合は,その文字コードをLANG環境変数に指定してください。プラットフォームが文字コードをサポートしていない場合は,Cを指定してください。
- 注※3
-
ja_JP.eucJPのほかに,ja_JPを同じものとして扱います。
- 注※4
-
Windows版HiRDBクライアントでは環境変数LANGを使用しないため,指定しても有効になりません。
(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サーバ又はその他のプログラムが使用しないポート番号を指定し,それぞれのプログラムが使用するポート番号が重複しないようにしてください。