KFAA31742-E
An error was detected when accessing the data file of the foreign table. (cause = "aa....aa", details = "bb....bb") (M+J+O)
外部データファイルへのアクセスでエラーを検出しました。
- aa....aa:
-
エラーの原因
- bb....bb:
-
エラーの詳細情報
- (S)
-
このSQL文を無視します。またはこのトランザクションを無効にします。
- 〔対策〕
-
aa....aaに出力されたエラーの原因に従って,次に示す対処をしてください。
aa....aaの値
エラーの原因
対処
SQLSTATE
Field not found
検索対象の列に対応するフィールドが見つかりません。
検索対象の列名と外部データのフィールド名が一致していません。bb....bbには,外部データのフィールド名が出力されます。これを基に,外部表の列名を変更してください。
なお,列名とフィールド名は,英大文字および英小文字まで一致させるようにしてください。
2252D
Data type incompatibility
データ型の互換性がありません。
外部表の列と外部データのフィールドのデータ型に互換性がないため,データを検索できません。bb....bbには,列のデータ型コードとフィールドのデータ型名が出力されます。これを基に,外部表の列のデータ型を互換性のあるデータ型に変更してください。
なお,外部表の列のデータ型が配列型の場合は,bb....bbにはデータ型コードは出力されません。ARRAYと出力されます。
データ型コードについては,マニュアルHADB SQLリファレンスのデータ型の種類を参照してください。
フィールドのデータ型名については,Apache Arrowのドキュメントを参照してください。
データ型の互換性については,マニュアルHADB SQLリファレンスのCREATE FOREIGN TABLE(外部表の定義)を参照してください。
2252E
Outside the range of the numeric data type
数データとして扱える範囲を超える値が外部データ中にあります。
外部表の列のデータ型を,より広い範囲を扱える数データに変更してください。例えば,SMALLINT型の列がエラーの原因となった場合は,INTEGER型の列に変更してください。
なお,HADBがサポートしているデータ型の最大範囲を超える値は検索できません。次のような対処などをしてエラーを回避してください。
-
検索条件に,列のデータ型の範囲内の値を指定する
-
エラーの原因となった列を射影列から除外する
bb....bbには,外部表の列名とデータ型コードが出力されます。DECIMAL型の列の場合は,精度も出力されます。
データ型コードについては,マニュアルHADB SQLリファレンスのデータ型の種類を参照してください。
Defined column length exceeded
外部表の列の定義長を超えるデータが外部データ中にあります。
外部表の列の定義長より大きい外部データが存在します。bb....bbには,外部表の列の定義長と外部データのデータ長が出力されます。これを基に,外部表の列の定義長を大きくしてください。
The number of array elements exceeded the maximum number of elements
配列要素の数が最大要素数を超える配列型のデータが外部データ中にあります。
bb....bbには,列定義に指定されている最大要素数と外部データの要素数が出力されます。これを基に,配列型の列の最大要素数を大きくしてください。
Unsupported data
HADBがサポートしていないデータが外部データ中にあります。
bb....bbには,HADBがサポートしていない外部データが出力されます。これを基に該当する外部データを削除してください。
DECIMAL scale mismatch
外部表の列と外部データのフィールドで,DECIMAL型のスケールが一致していません。
bb....bbには,列とフィールドのスケールが出力されます。これを基に,スケールを一致させてください。
-