Hitachi

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


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サーバの文字コード種別を指定しても有効になりません。

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

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

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