Ошибка управляющего файла Oracle: терминатор не найден после поля TERMINATED и ENCLOSED - PullRequest
1 голос
/ 15 ноября 2011

Я загружаю данные в базу данных Oracle 10g через контрольный файл, и я получаю эту ошибку: терминатор не найден после TERMINATED и ENCLOSED поле

Мой контрольный файл имеет определенное определение разделителей и прилагается:

FIELDS TERMINATED BY "," ENCLOSED by '"' TRAILING NULLCOLS

И в данных по ошибке есть большое поле, в котором мы можем найти этот текст:

after an "unauthorized" IOS upgrade 

Я думал, что TERMINATED BY и ENCLOSED были использованы для того, чтобы иметь возможность такого типа текста в полях. Могу ли я исправить проблему в контрольном файле или мне нужно исправить проблему в текстовом файле?

Спасибо

1 Ответ

0 голосов
/ 15 ноября 2011

Ссылка на Oracle :

ENCLOSED поля читаются, пропуская пробел, пока не пробел персонаж встречается Если этот символ является разделителем, то данные считываются до второго разделителя. Любой другой персонаж вызывает ошибка.

Если два символа разделителя встречаются рядом друг с другом, a единственное вхождение символа разделителя используется в данных значение. Например, 'DON''T' сохраняется как DON'T. Однако, если поле состоит только из двух символов-разделителей, его значение равно нулю.

Итак, используйте:

"data","after an ""unauthorized"" IOS upgrade ","data",...
...