title: sqlldr return codes - ex_warn
body: <p>I want to know if my file is loaded complete in the database.</p>
  
  <p>if you check the return codes <a href="http://download.oracle.com/docs/cd/B10501_01/server.920/a96652/ch04.htm#1005020" rel="nofollow">here</a> you can see that 1 and 3 is a fail.</p>
  
  <pre><code>EX_SUCC 0
  EX_FAIL 1
  EX_WARN 2
  EX_FTL  3
  </code></pre>
  
  <p>EX_WARN(return code 2) includes this cases:</p>
  
  <pre><code>All or some rows rejected EX_WARN
  
  All or some rows discarded EX_WARN
  
  Discontinued load EX_WARN
  </code></pre>
  
  <p>Now, the first and second is manageable.</p>
  
  <p>For the third I had to search in the docs. 
  If you read <a href="http://download.oracle.com/docs/cd/B10501_01/server.920/a96652/ch05.htm#1008521" rel="nofollow">this</a> you can see that "discontinued loads" include "fatal errors", "CTRL-C", and "space errors".
  In this cases I would probably get no records or some records rejected, EX_WARN return code, and the file incomplete loaded in database.</p>
  
  <p>If there are no records rejected is simple: it was a discontinued load. I must exit with error.
  But when I have some record rejected I'm not sure that my file is completely loaded in database. (Some rows rejected is acceptable to me.)
  Am I right?</p>
  
  <p>If yes, what the solution? 
  How do I know if the entire table was loaded into DB?</p>