Я получаю сообщение об ошибке "частичная запись в конце файла" при использовании параметра 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 строку (как показано ниже) и изменил ФИКСИРОВАННУЮ длину на 19-
Alvin Tolliver1976KennethBaer 1963Mary Dube 1973
Кажется, это указывает на то, что я делаю что-то неправильно в отношении символов новой строки, но я не могу понять, что именно.
Любая помощь будет оценена по достоинству. Заранее спасибо!
DELIMITED BY NEWLINE
: download.oracle. com/docs/cd/B19306_01/server.102/b14215/ - person ypercubeᵀᴹ   schedule 16.10.2011