スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(Windows(R)用)
(1) 列単位LOB入力ファイルの形式
列単位LOB入力ファイルの形式を次の図に示します。
図5-23 列単位LOB入力ファイルの形式
図5-23の形式でLOB列構成基表の入力データ順に入力行数分のLOBデータを作成します。
格納するLOBデータによっては,次の指定をする必要があります。
- 0バイト以上のLOBデータを格納する場合
図5-23の形式に従います。ただし,L=0の場合はLOBデータ長の4バイトだけを指定します。
- デフォルト値,及びナル値を格納する場合
L=0として,LOBデータ長の4バイトだけを指定します(LOBデータがナル値かどうかは,対応するLOB列構成基表の行データの指定によって決まります)。
LOB列構成基表の行データと列単位LOB入力ファイルのLOBデータは,LOBデータの指定順によって対応させます。すなわち,LOB列構成基表のn行目のデータは列単位LOB入力ファイルのn件目のデータに対応します。
LOB列構成基表の行データと列単位LOB入力ファイルのLOBデータの対応例を次の図に示します。なお,例では3行目のLOBの値をナル値としています。
図5-24 LOB列構成基表の行データと列単位LOB入力ファイルのLOBデータの対応例
(2) 列単位LOB入力ファイルに関する注意事項
(a) LOB列構成基表の入力デ−タファイルの指定内容と,列単位LOB入力ファイルのLOBデータの対応
LOB列構成基表の入力デ−タファイルの指定内容と列単位LOB入力ファイルの対応するLOBデータの指定内容が一致しない場合,エラーとなります。
エラーとなるケースを次に示します。
- LOB列構成基表の入力デ−タファイルがDAT形式の場合
LOB列構成基表の入力デ−タファイルの指定がナル値,又はデフォルト値の場合に,列単位LOB入力ファイルの対応するLOBデータが1バイト以上指定しているときにエラーとなります。
- LOB列構成基表の入力デ−タファイルがバイナリ形式の場合
LOB列構成基表の入力デ−タファイルの指定と,ナル値・関数情報ファイルの指定が一致しナル値とする場合に,列単位LOB入力ファイルの対応するLOBデータが1バイト以上指定しているときはエラーとなります。
(b) LOB列構成基表の入力デ−タファイルのデータ件数と,列単位LOB入力ファイルのデータ件数に関する注意事項
列単位LOB入力ファイルを使用してLOB列を作成する場合,LOB列作成時に列単位LOB入力ファイル中のデータ件数をデータべース作成ユティリティが確認します。ただし,オプションの指定と入力デ−タファイル中のエラーデータの有無によってデータ件数の確認をしない場合があります。データ件数の確認をしない場合は,KFPL16328-Wメッセージが出力されます。
オプションの指定と入力デ−タファイル中のエラーデータの有無の関係を次の表に示します。
表5-39 オプションの指定と入力デ−タファイル中のエラーデータの有無の関係
オプション |
LOB列構成基表の入力デ−タファイル中のエラーデータ有無 |
なし |
あり |
-eオプションの指定 |
なし |
○ |
○※1 |
あり |
○ |
×※2 |
- (凡例)
- ○:列単位LOB入力ファイル中のデータ件数の確認をします。
- ×:列単位LOB入力ファイル中のデータ件数の確認をしません。
- 注※1
- LOB列構成基表作成時に,エラーにならなかった行に対応する入力データファイル中のLOB列の情報をLOB中間ファイルに出力し,その後列単位LOB入力ファイルのデータ件数の確認をします。
- エラーデ−タファイルなどを使用して,エラーとなったLOB列構成基表の行データを後から作成する場合は,その後から作成したLOB列構成基表の入力デ−タファイルに対応する列単位LOB入力ファイルを準備する必要があります。最初に準備した列単位LOB入力ファイルはそのまま使用できません。
- 注※2
- LOB列構成基表の入力デ−タファイル中のエラーとなる前の行までの,対応するLOB列の情報をLOB中間ファイルに出力します。
- このため,LOB列構成基表の入力デ−タファイル中のエラーとなる前の行までの,LOB列構成基表の入力デ−タファイルに対応する列単位LOB入力ファイル中のLOBデータがずれている場合(不正なデータがあった場合,又は必要なデータがなかった場合なども含まれます)でも,そのままLOB列の情報をLOB中間ファイルに出力します。
- LOB列構成基表の入力デ−タファイル中のエラーデータを修正後,エラーとなった行データ以降のLOB列構成基表を-rオプション指定の追加モードで作成した場合,LOB列構成基表の入力デ−タファイルの最終行まで作成した後,LOB列作成時に初めて列単位LOB入力ファイルのデータ件数の確認をします。
- データ件数の確認でエラーとなった場合,エラーの原因が列単位LOB入力ファイル中のどこにあるかによって,次のどれかの対策が必要となります。
- (a) エラーの原因が,作成しようとした列単位LOBファイル中のデータの範囲内にある場合
- 列単位LOB入力ファイル中のLOBデータのエラー原因を取り除くことによって,LOB列を作成できます。
- (b) エラーの原因が,作成しようとした列単位LOB入力ファイル中のデータの範囲内にない場合
- 列単位LOB入力ファイルのLOBデータのエラー原因を取り除き,作成しようとした列単位LOB入力ファイル中のLOBデータだけでなく,既に作成されているLOBデータも含めて作成する必要があります。
- このような場合には,作成するLOB列構成基表が分割表か非分割表かを確認し,更にLOB列構成基表の作成単位が表単位かRDエリア単位かを確認します。そして,エラーとなったユーザLOB用RDエリアだけ,又はエラーとなったLOB列に対応するユーザLOB用RDエリアすべてを,再初期化,又はバックアップからの回復をしてから,LOB列を作成します。
-
- これらの,列単位LOB入力ファイルのデータ件数エラー時の対策を容易にするための手順を,次の図に示します。
図5-25 列単位LOB入力ファイルのデータ件数エラー時の対策を容易にするための手順
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.