Oracle
 sql >> база данни >  >> RDS >> Oracle

Полето във файла с данни надвишава максималната дължина - грешка

Съобщението за грешка е, защото данните, прочетени от файла с данни, са по-големи от символния буфер по подразбиране на sqlldr от 255, който се използва, ако не са посочени CHAR и размер. Имайте предвид, че това е различно от размера на колоната, на която съответства полето. Например, ако имам колона на таблица от VARCHAR2(4000), но не давам изрично размер в контролния файл

cola  not null,

и данните във файла с данни надхвърлят 255, но са с дължина по-малка от 4000, ще получите грешката.

Ако обаче контролният файл посочва размера на буфера по този начин:

cola char(4000) not null,

всичко ще бъде добре, сякаш създава по-голям буфер (тук съответства на размера на колоната). Така че, просто придобийте навика винаги да включвате размерите на колоните. Спестете си малко караница и създайте функция за генериране на контролен файл по подразбиране за вас... изчакайте да публикувам моя вместо вас, опитайте го:https://stackoverflow.com/a/37947714/2543416



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да стартирате Create Table DDL с EXECUTE IMMEDIATE в Oracle Database

  2. Режим на престой и прилагане на Hotpatch в adop R12.2

  3. Как да видите ограниченията на таблица, например, ако е първичен ключ или уникален ключ?

  4. Защо Oracle връща специфична последователност, ако стойностите на „orderby“ са идентични?

  5. Дефиниране на jta източник на данни извън контейнера