起码,你就不能用direct=true据我所知不能,你可以先load到临时表阿

解决方案 »

  1.   

    好象是不行,如果你要实现你的功能,不如写
    一个过程来处理,这个过程也不是很麻烦,
    只要有一条记录不符合数据库的要求,就ROLLBACK;
      

  2.   

    已经提交了呀,rollback也没有用呀。
      

  3.   

    没有做完你干嘛一条语句提交一次呢?
    不用提交,做完再COMMIT;
      

  4.   

    sqlldr 遇到特定得时候就会提交呀,如果不是direct,默认是64行就提交呀
    sqlldr退出得时候就会提交呀
      

  5.   

    discardmax 设置允许丢失的记录数.
    discardmax  = number_of_records 如果丢失的记录数超过了这个限制,装载将被终止.
    像LGQDUCKY(飘) 说的,写个过程,把这个值设成0,如果有了一条有问题,就终止,然后回滚前面的操作.
    我没试过,只是一个想法,你可以试一下