Hitachi

Hitachi Advanced Database メッセージ


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には,列とフィールドのスケールが出力されます。これを基に,スケールを一致させてください。