2014-03-18 12 views
0

나는 파이 차트와 JSF를 사용하여 동일한 페이지에 막대 그래프,이 쿼리에서 정보를 얻는 두 conponents 건물입니다 :은 java.sql.SQLException : 숫자 오버플로

select 'ACCOUNTS'PRODUCT,sum(ACCT_BAL_LCY) AMOUNT from account_master where schm_type in(?, ?, ?,?) and ACCT_BAL_LCY >0 
union select 'BILLS'PRODUCT, sum(LIAB_AMT_LCY)AMOUNT from bills_details union select 'DOCUMENTARY CREDITS'PRODUCT,sum(LIAB_AMOUNT)AMOUNT 
from DC_DETAILS union select 'GUARANTEES'PRODUCT, sum(LIAB_AMT_LCY)AMOUNT from BG_DETAILS; 

방법 실행이입니다 :

private void createPieModel() { 
     pieModel = new PieChartModel(); 
     categoryModel = new CartesianChartModel(); 
     ChartSeries act = new ChartSeries(); 
     act.setLabel("Product Types"); 
     Connection conn; 
     db = new DBConnection(); 
     conn = db.getDbConnection(); 
     pr = new BiProperties(); 
     try { 
      String sql = pr.getDBProperty().getProperty("liability.bank"); 
      PreparedStatement ps = conn.prepareStatement(sql); 
      ps.setString(1, "SBA"); 
      ps.setString(2, "CAA"); 
      ps.setString(3, "TDA"); 
      ps.setString(4, "CCA"); 
      ResultSet rs = ps.executeQuery(); 
      int i = 0; 
      while (rs.next()) { 
       pieModel.set(rs.getString(1), rs.getInt(2)); 
       act.set(rs.getString(1), rs.getInt(2));//Error on this Line 
       cities.put(i, rs.getString(1)); 
       i++; 

      } 
      categoryModel.addSeries(act); 

     } catch (SQLException asd) { 
      log.debug(Level.FATAL, asd); 
     } 
    } 

시간에 모두 그래프로 표시, 배 그래프 중 어느 것도 보여주지와 다른 시간 만 원형 차트 쇼. 백 엔드 확인시이 오류가 발생합니다.

java.sql.SQLException: Numeric Overflow 

어떻게 이런 일이 발생하지 않도록 할 수 있습니까?

+0

이 유용 할 수 [http://stackoverflow.com/questions/16569578/java-sql-sqlexception-numeric-overflow-while-using-in-operator][1] [1] : http://stackoverflow.com/questions/16569578/java-sql-sqlexception-numeric-overflow-while-using-in-operator – sheu

답변

0

SQL에서 집계 함수에 의해 발생했다고 의심됩니다.
기본적으로 AFAIR은 집계 함수 결과를이 함수의 매개 변수와 동일한 유형으로 유지하는 변수를 정의합니다. 이를 SQL에서 더 큰 정밀도/크기 변수로 재정의하고자 할 수 있습니다.

+0

나는이 SQL에서 sum()을 제외한 haha ​​기능을 지원하지 않는다. 문제가되는 테이블의 명백한 select 문. – ErrorNotFoundException

+0

열이 집계 된 값을 보유하기에는 너무 작은 것으로 정의 된 경우 모든 집계 함수에 적용됩니다. –

관련 문제