这是错误信息:
"Field in data file exceeds maximum length"
原因大概是数据文件中某一数据项有600多个字符,导入时就出现这样的错误。怀疑超过255就不行,但没有试过。控制文件中用","来区分数据项,没有说明每个字段的长度。该程序在原系统中可以运行,怀疑是新系统中oracle数据库的设置不正确。请高手帮忙,怎么修改设置。

解决方案 »

  1.   

    SQL*Loader-00621 Field in data file exceeds maximum length
    Cause: A field exceeded its maximum allowable length.
    The maximum length is either the length specified in the SQL*Loader control file, or,
    for delimitable fields without a length specified, the maximum length of the corresponding database column (for char, varchar columns).Action: Check for missing delimiters and/or shorten the field.
      

  2.   

    1、看看你是不是丢掉了分隔符
    2、看看准备加载的数据文件是不是有问题(我就曾经把一个VFP中的DBF文件直接当txt加载了,就报这个错误)
      

  3.   

    数据文件没问题;ctl文件也没有“丢掉了分隔符”问题。
      

  4.   

    问:用sqlload倒数据,发现sqlldr里char类型的长度限制为255,但是我很多要导入的字段都超过了255,请问怎么突破这个限制?
    答:ctl文件中:
    fields  terminated  by  ','  
    TRAILING  NULLCOLS  
    (ID,name  char(100000000),score)呵呵,刚好在别处看到了,帮你一下,我没有测试,你搞定后说一声
      

  5.   

    这样是可以的,我试过。但是我不想修改原ctl文件,最好通过修改oracle设置来实现。不知是否可以?