sql >> Database teknologi >  >> RDS >> Oracle

Felt i datafil overskrider maksimal længde - fejl

Fejlmeddelelsen skyldes, at de data, der læses ind fra datafilen, er større end sqlldrs standardtegnbuffer på 255, som bruges, hvis der ikke er angivet nogen CHAR og størrelse. Bemærk, at dette er anderledes end størrelsen på den kolonne, som feltet svarer til. For eksempel, hvis jeg har en tabelkolonne med VARCHAR2(4000), men ikke eksplicit angiver en størrelse i kontrolfilen

cola  not null,

og dataene i datafilen overstiger 255, men er mindre end 4000 i længden, får du fejlen.

Men hvis kontrolfilen angiver bufferstørrelsen sådan her:

cola char(4000) not null,

alt vil være godt, som om det skaber en større buffer (her matcher det kolonnestørrelsen). Så væn dig bare til altid at inkludere kolonnestørrelserne. Spar dig selv for noget besvær og opret en funktion til at generere en standardkontrolfil til dig...vent jeg postede min for dig, prøv det:https://stackoverflow.com/a/37947714/2543416



  1. Kan databaseposter tilføjet fra elementer slettes med knappen?

  2. Oracle SQL Developer Problem med initialisering af velkomstside

  3. postgresql opdatere flere tabeller i en enkelt forespørgsel

  4. Hvordan får man landekode fra (intl-tel-input) plugin efter indsendelse af formularen?