title: Oracle: numeric or value error
body: <p>I am calling a function from my java code and i am getting this exception. I have checked all the data types and everything else I can think of but I am still getting this exception.</p>
  
  <blockquote>
    <p>java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error:
    character to number conversion error</p>
  </blockquote>
  
  <pre><code>if (rs.next()) {
                  String originalOrderNature = rs.getString("ORDER_NATURE");
                  String stExCode = rs.getString("ST_EX_CODE");
                  long orderNumber = rs.getLong("ORDER_NUMBER");
                  String client_code = rs.getString("CLIENT_CODE");
                  String st_ex_code = rs.getString("ST_EX_CODE");
                  String isin = rs.getString("ISIN");
                  String symbol = rs.getString("SYMBOL");
                  String market_type = rs.getString("MARKET_TYPE");
                  String buy_or_sell = rs.getString("BUY_OR_SELL");
                  int volume = rs.getInt("VOLUME");
                  float rate_limit = rs.getFloat("RATE_LIMIT");
                  String order_nature = rs.getString("ORDER_NATURE");
                  Date valid_till = rs.getDate("VALID_TILL");
                  String order_status_id = rs.getString("ORDER_STATUS_ID");
                  aryMarginParam.add(0, originalOrderNature);
                  aryMarginParam.add(1, stExCode);
                  aryMarginParam.add(2, orderNumber);
                  aryMarginParam.add(3, client_code);
                  aryMarginParam.add(4, st_ex_code);
                  aryMarginParam.add(5, isin);
                  aryMarginParam.add(6, symbol);
                  aryMarginParam.add(7, market_type);
                  aryMarginParam.add(8, buy_or_sell);
                  aryMarginParam.add(9, volume);
                  aryMarginParam.add(10, rate_limit);
                  aryMarginParam.add(11, order_nature);
                  aryMarginParam.add(12, valid_till);
                  aryMarginParam.add(13, order_status_id);
              }
  </code></pre>
  
  <p>In this function i am passing this arrayList</p>
  
  <pre><code>String statement = "BEGIN ? := abc(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?); END;";
  
      Object[] in = new Object[13];
      int[] out = new int[2];
      String OriginalOrderNature = (String) arrVerifyMargin.get(0);
      String stExCode = (String) arrVerifyMargin.get(1);
      long orderNumber = (Long) arrVerifyMargin.get(2);
      String client_code = (String) arrVerifyMargin.get(3);
      String st_ex_code = (String) arrVerifyMargin.get(4);
      String isin = (String) arrVerifyMargin.get(5);
      String symbol = (String) arrVerifyMargin.get(6);
      String market_type = (String) arrVerifyMargin.get(7);
      String buy_or_sell = (String) arrVerifyMargin.get(8);
      int volume = (Integer) arrVerifyMargin.get(9);
      float rate_limit = (Float) arrVerifyMargin.get(10);
      String order_nature = (String) arrVerifyMargin.get(11);
      Date valid_till = (Date) arrVerifyMargin.get(12);
      String order_status_id = (String) arrVerifyMargin.get(13);
      int modifyy = modify;   
      //float float_volume = (float)volume;
      System.out.println(OriginalOrderNature + " " + stExCode);
  
      out[0] = Types.VARCHAR;
      in[0] = orderNumber;
      in[1] = client_code;
      in[2] = st_ex_code;
      in[3] = isin;
      in[4] = symbol;
      in[5] = market_type;
      in[6] = buy_or_sell;
      in[7] = volume;
      in[8] = rate_limit;
      in[9] = order_nature;
      in[10] = valid_till;
      in[11] = order_status_id;
      in[12] = modifyy;
      out[1] = Types.VARCHAR;
      String orderNature = (DAOHelper.call(statement, in, out))[1].toString();
      return orderNature;
  </code></pre>