改一下sql
select NPROJECTTYPEID||','||SPROJECTTYPENAME||','||SNOTE||';' from ProjectType;

解决方案 »

  1.   

    那在CTL中虽然我写了
    TRAILING NULLCOLS
    但是一旦遇到有一个字段中出现空值,还是无法将数据导入。这又是为什么呢?麻烦高手继续指教啊。
      

  2.   

    sql改成:
    select NPROJECTTYPEID||','||SPROJECTTYPENAME||','||SNOTE
    from ProjectType;控制文件改成:
    load data
    infile 'E:\tang\DemoApp\Export\ProjectTypeExport.txt'
    replace into table ProjectType
    fields terminated by ','
    TRAILING NULLCOLS    -- 表示如果出现 xx,,yy 则第二个字段绑定null值。
    (NPROJECTTYPEID,SPROJECTTYPENAME,SNOTE)
      

  3.   

    还是不对,日志文件是报以下的错误:
    记录 2: 被拒绝 - 表 PROJECTTYPE 出现错误。
    ORA-01401: 插入的值对于列过大因为最后一个字段SNOT存在空值,数据源文件中每行后面凡是空值的地方都有很多的空格,空格超过了字段设定的长度,所以报错了。请问该如何解决?
      

  4.   

    再次更正一下:sql改成:
    select NPROJECTTYPEID||','||SPROJECTTYPENAME||','||SNOTE||','  -- 末尾添加','
    from ProjectType;控制文件改成:
    load data
    infile 'E:\tang\DemoApp\Export\ProjectTypeExport.txt'
    replace into table ProjectType
    fields terminated by ','
    TRAILING NULLCOLS   
    (NPROJECTTYPEID,SPROJECTTYPENAME,SNOTE)