Hitachi

ノンストップデータベース HiRDB Version 9 UAP開発ガイド


8.4.1 UAP実行時の注意事項

UAPを実行する場合の注意事項を次に示します。

〈この項の構成〉

(1) 文字コード種別についての注意事項

UAPを実行する場合,HiRDBサーバの文字コード種別(UNIX版の場合はpdsetupコマンド,Windows版の場合はpdntenvコマンドで指定した文字コード種別)に合わせて,環境変数LANG,又はクライアント環境定義PDLANGを設定してください。HiRDBサーバとHiRDBクライアントで文字コード種別が異なると,UAP実行時にエラーとなります。プラットフォームごとのLANG及びPDLANGの設定値を次の表に示します。

表8‒30 プラットフォームごとの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を実行する場合は,受信ポートが重複しないように対策する必要があります。

受信ポートが重複する場合の条件と対策方法を次の表に示します。

表8‒31 受信ポートが重複する場合の条件と対策方法(1/2)

後発のクライアント

先発のクライアント

バージョン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

表8‒32 受信ポートが重複する場合の条件と対策方法(2/2)

後発のクライアント

先発のクライアント,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サーバ又はその他のプログラムが使用しないポート番号を指定し,それぞれのプログラムが使用するポート番号が重複しないようにしてください。