スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド
リモートデータベースを更新する場合,COMMIT処理中に通信障害などの障害が発生すると,分散サーバ側でCOMMIT処理をしたのかロールバックしたのかを分散クライアント側の情報だけで判断できないので,サーバ側の状態を調べる必要があります。また,リモートデータベースを更新するときに,同じトランザクション内でローカルデータベースを更新しないでください。両方に更新を掛けてCOMMIT処理に失敗した場合,ローカルデータベースは直前の同期点の状態に戻りますが,リモートデータベースは更新されてしまうことがあります。リモートデータベースだけが更新されてしまうと,更新済みのデータベースを後から同期点の状態に戻すことは困難です。
データの代入と比較をする場合,分散クライアント側のHiRDBで指定したシステム共通定義のpd_space_levelオペランド,又はクライアント環境定義のPDSPACELVLの指定は無効となります。
分散サーバ側で指定した空白変換レベル(分散サーバがHiRDBの場合はシステム共通定義のpd_space_levelオペランド,分散サーバがXDM/RDの場合はRD環境定義のKEIS CODE SPACE LEVEL)の値が有効となります。必要であれば,分散サーバ側で空白変換レベルを指定してください。
分散クライアント側では空白変換をしません。
分散サーバ側で空白変換レベルを指定している場合,検索結果は分散サーバ側の仕様に従います。
分散サーバがHiRDBの場合の空白変換を次の表に示します。
表12-15 分散サーバがHiRDBの場合の空白変換
分散サーバ | アクセスする列のデータ型 | |||
---|---|---|---|---|
DBMS | 空白変換レベル | NCHAR,NVARCHAR | MCHAR,MVARCHAR | CHAR,VARCHAR |
HiRDB | 1 | ×※1 | ×※2 | × |
3 | ○※3 | ×※2 | × |
分散クライアント側のHiRDBが,検索結果のデータ中の全角空白1文字を半角空白2バイトに変換します。アクセスする列のデータ型が,NCHAR,及びNVARCHARの場合だけでなく,MCHAR,MVARCHAR,CHAR,及びVARCHARのときも変換します。このため,UAPに返却する検索結果のデータ中の空白は常に半角空白になります。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.