外部テーブルで FIXED パラメータを使用すると、「ファイルの末尾にある部分レコード」エラーが発生します。
SQL Developer、Oracle 11g XE を使用しています。
-------
foo.dat - Field lengths: fname=7;lname=8;year=4
-------
Alvin Tolliver1976
KennethBaer 1963
Mary Dube 1973
テーブルの DDL は次のとおりです。
CREATE TABLE emp_load (
first_name CHAR(7)
, last_name CHAR(8)
, year_of_birth CHAR(4)
)
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY ext_tab_dir
ACCESS PARAMETERS (
RECORDS FIXED 20 FIELDS (
first_name CHAR(7)
, last_name CHAR(8)
, year_of_birth CHAR(4)
)
)
LOCATION ('foo.dat'));
テーブル emp_load は作成されていますが、select ステートメントは次のエラー メッセージで失敗します。実行時のエラー メッセージselect * from emp_load
:
ORA-29913: error in executing ODCIEXTTABLEFETCH callout
ORA-29400: data cartridge error
KUP-04018: <b>partial record at end of file C:\oracle\foo.dat</b>
29913. 00000 - "error in executing %s callout"
*Cause: The execution of the specified callout caused an error.
*Action: Examine the error messages take appropriate action.
それが機能したのは、foo.dat を 1 行 (以下のように) 作成し、FIXED の長さを 19- に変更したときだけです。
Alvin Tolliver1976KennethBaer 1963Mary Dube 1973
これは、改行文字に関して何か間違っていることを示しているようですが、何がわかりません。
どんな助けでも大歓迎です。前もって感謝します!