LOB データおよび XML 文書の表示および変更

FM/Db2 エディターでの LOB データや XML データの扱いは他の列のデータの扱いと異なります。 その主な理由として、LOB データや XML データの場合は、潜在的に非常に大きなサイズを扱えるということがあります。

エディター・オプション (「Editor Options (8 of 8) (編集オプション (8 の 8))」パネルを参照) を使用して、FM/Db2 エディターに表示される LOB 列または XML 列のデータの量 (存在する場合) を制御できます。デフォルトでは、FM/Db2 エディターでは XML データや XML データの列名は表示されますが、データは表示されません。 これにより、FM/Db2 エディターによって使用されるストレージの量が最小限に抑えられます。

処理対象の Db2® オブジェクトに LOB 列が含まれる場合は、 エディター基本コマンド LOBBRWS、LOBEDIT、または LOBVIEW を使用して開始した個別の FM/Db2 エディター・セッションで 単一の LOB 列のデータを表示したり変更したりできます。

処理対象の Db2® オブジェクトに XML 列が含まれる場合は、 エディター基本コマンド XMLBRWS、XMLEDIT、または XMLVIEW を使用して開始した個別のエディター・セッションで 単一の XML 列のデータを表示したり変更したりできます。XML 文書のサイズが 10 MB バイト以下の場合は、ISPF エディターが使用される。そうでない場合、File Manager エディターが使用されます。

注: データは Db2 表で更新されないため、XMLEDIT セッションまたは LOBEDIT セッションでは SAVE コマンドを使用しないでください。

LOB 編集の相違点 の説明にあるように、LOB 列にあるデータを処理する File Manager/Db2 エディター・セッションは、Db2® オブジェクトを処理する File Manager/Db2 エディター・セッションと比べて多少異なります。この表では、「originating session (元のセッション)」 という用語は、LOB 列を含む Db2® オブジェクトの FM/Db2 エディター・セッションを指します。「LOB session (LOB セッション)」 は、LOB 列の FM/Db2 エディター・セッションを指します。このセッションは、元のセッションから開始されます。

1. LOB 編集の相違点
アクション オブジェクト編集 LOB 編集
開始 機能入力パネルから。EDIT、BROWSE、VIEW エディター基本コマンド。 LOB 列を含む Db2® オブジェクトの File Manager/Db2 エディター・セッション (元の セッション) 内から LOBBRWS、LOBEDIT、LOBVIEW エディター基本コマンドを使用。
保存 行に対する変更。 1 回に 1 つずつ Db2® に渡される。多くの理由により、Db2® が、行に対する変更を拒否することがある。 LOB セッションで変更された内容はいずれも、LOB セッションの終了時に Db2® オブジェクトに対する変更として Db2® に渡されない。代わりに、FM/Db2 が LOB ロケーターを使用して、すべての変更内容を保管する。元のセッションで SAVE コマンドが発行されたときに、LOB 列に対する保留中の変更を持つすべての行が Db2® に渡される。
コミット Db2® コミットは、元のセッションから SAVE が発行されたときに発行される可能性がある (これは、 エディター・オプションの設定に依存する)。Db2® コミットは、元の編集セッションの終わりに発行される。 Db2® コミットは、LOB セッション内からは発行されない。
データ表示 最初、データは、「Initial display format」エディター・オプションの設定に応じて TABL 形式または SNGL 形式で表示される。(「Editor Options (1)」パネルに表示される。) 最初、データは、「LOB display format」エディター・オプションに応じて TABL 形式または SNGL 形式で表示される。(「Editor Options (8 of 8)」パネルに表示される。)データが SNGL モードで表示されているときは、「前へ」PF キーと「次へ」PF キー (デフォルトでは PF10 および PF11 に割り当てられている) を 使用して LOB データをスクロールできる。
VARCHAR 「Varying Length Columns」エディター・オプションが「Editor Options (5 of 8)」パネルに表示される。そのオプションの設定はユーザー設定に依存する。 次の「Varying Length Columns」エディター・オプションが確定される。

Remove trailing spaces:      Off
Show end of string:          On
Convert spaces to Db2 null:  Off
ストレージ 「通常」モードや「大規模」モードの説明どおり。表 3 を参照。 LOB 列のデータがすべて FM/Db2 エディターにロードされる。これは、TSO 領域サイズが小さく LOB 列が大きい場合は不可能 (ストレージ不足) なことがある。

以下の使用上の注意は、LOB 列内のデータを変更するときに役立つ可能性があります。

  • LOB セッションは、単一の VARCHAR(nn) 列を含む Db2® オブジェクトの File Manager/Db2 エディター・セッションによく似ています (nn は 1000 から 4000 までの範囲にある値)。nn の値は概算値であり、画面サイズや他の要因によって異なります。
  • 単一 LOB 列のデータは、LOB セッションでロードされるときに細分化されます。これは単に、3270 端末の制限を前提として LOB データが表示しやすくなるとか変更しやすくなるとかの理由で便宜上行われます。
  • FIND エディター・コマンドを使用して、特定のテキストを LOB セッション内で見つけることができます。ただし、LOB セッションで 2 つの「行」に分割されているストリングは検出されません。
  • 最初、LOB セッションでは、LOB データは SNGL モードか TABL モードで表示されます。 どちらのモードで表示されるのかは、「LOB display format」オプションの現行設定によって決定されます。表示されるデータの量は、「LOB piece size」オプション、端末の特性、および LOB 列の名前の文字数によって決まります。
  • データのスクロールが意図された大規模 LOB に関しては、 「LOB display format」オプションを「Single」に設定し、「LOB piece size」オプションを「Single display size」に設定することを 検討してください。これにより、使用可能な画面サイズを最大限に利用して LOB データを表示できます。 また、データの絶対文字位置も表示されます。NEXT コマンドと PREVIOUS コマンド (PF11 および PF10) を使用してデータをスクロールできます。
  • 編集操作に関しては、 「LOB display format」オプションを「Table」に設定し、「LOB piece size」オプションを「Table display size」に設定することを 検討してください。TABL 表示モードでは、各「行」のデータはすべて完全に表示されます。右にスクロールする必要はありません。
  • また、Single 表示は、編集操作の開始点として使用できます。編集操作の挿入点が見つかったら、TABL 表示モードに切り替えて、対象の行に対して SP(分割) 接頭部コマンドを発行してください。これにより、その行は、TABL 表示形式で完全に表示されるように、細分化された複数の行に変換されます。
  • 「行」の末尾にあるスペースには意味があります。 エディターを使用して末尾のスペースを除去するときは慎重に行ってください。FM/Db2 は LOB 列のデータを再び組み合わせるときに、各「行」の VARCHAR の長さを使用して、LOB 列に追加するデータの量を決定します。「行」に含まれるデータが変更されるときに、その「行」から末尾のスペースが間違って除去されないように、 可変長列のエディター・オプション (「Editor Options (5 of 8) (編集オプション (8 の 5))」パネルを参照) が設定されます。

可変長列の表示ストリング区切り文字 (「Editor Options (5 of 8) (編集オプション (8 の 5))」パネルを参照) を使用して行の末尾が表示されることに注意してください。入力ストリング区切り文字 (「Editor Options (5 of 8) (編集オプション (8 の 5))」パネルを参照) を使用すれば、行の末尾を明示的に設定できます。