sql >> Databáze >  >> RDS >> Oracle

Pole v datovém souboru překračuje maximální délku - chyba

Chybová zpráva je způsobena tím, že data načtená z datového souboru jsou větší než výchozí vyrovnávací paměť znaků sqlldr 255, která se použije, pokud není zadán žádný CHAR a velikost. Všimněte si, že se to liší od velikosti sloupce, kterému pole odpovídá. Pokud mám například sloupec tabulky VARCHAR2(4000), ale neuvádím explicitně velikost v řídicím souboru

cola  not null,

a data v datovém souboru přesahují 255, ale jsou kratší než 4000, zobrazí se chyba.

Pokud však řídicí soubor uvádí velikost vyrovnávací paměti takto:

cola char(4000) not null,

vše bude dobré, jako by vytvořilo větší vyrovnávací paměť (zde odpovídá velikosti sloupce). Takže si zvykněte vždy zahrnout velikosti sloupců. Ušetřete si starosti a vytvořte si funkci, která vám vygeneruje výchozí kontrolní soubor...počkej, poslal jsem pro tebe ten můj, zkus to:https://stackoverflow.com/a/37947714/2543416



  1. Je Microsoft Access snadné se naučit?

  2. Jak najít určité hexadecimální hodnoty a hodnoty Char() v MySQL SELECT

  3. Chyba vytvoření tabulky PHP 1064

  4. Alternativy MySQL Workbench – GUI Point-and-Click od ClusterControl