java
  • spring
  • jdbctemplate
  • 2011-03-06 3 views 1 likes 
    1

    레코드를 가져 오기 위해 JDBCTemplate을 사용하고 있습니다 ... my 테이블에 rowmapper를 사용하여 사용자 유형 객체를 래핑하려는 46,000 개의 행이 있습니다. 내가 코드를 아래하려고 할 때JDBCTemplate이 1500 개가 넘는 레코드를 가져 오지 않았습니다.

    는 그러나 및 happened..I 15 분을 기다렸다하지만 아무것도 후에도 아무 것도 없었다 "실행 SQL 쿼리 [STAT_CD이 = 'ACTIVE'Q7.USERBSC_INFO에서 선택 USER_ID, 제품 설명]"보여줍니다. 나누었다 응용 프로그램이 여전히 예외 내가 DB2의 JCC 드라이버를 사용하고

    ... 작동하지,이 메인 프레임 DB2

    입니다하지만 난 단지 1500 레코드에 대해 쿼리를 실행할 때 잘 작동 ...이 모든입니다 레코드를 가져 오는 데 제한이 있습니까? 당신은 봄 JDBC 템플릿의 레코드 없음을 제한 할 수 있습니다

    public static RowMapper mUsrInfo = new RowMapper() 
           { 
            public Object mapRow(ResultSet rs, int rowNum) throws SQLException 
            { 
    
             Usr usr=new Usr(); 
             usr.setUsrId(rs.getString("USER_ID")); 
             usr.setDesc(rs.getString("DESC")); 
             return usr; 
    
            } 
           }; 
    
    +0

    "작업 중"15 분 동안 - CPU 사용이 있습니까? 디버거에서 코드를 실행할 수 있습니까? 예 : IDE에서? –

    +0

    1637 레코드를 불러 오려고하면 잘 작동하지만 1638을 사용하면 아래 오류가 발생합니다. com.ibm.db2.jcc.c.DisconnectException : dss 길이가 0이 아닌 동일한 ID 체인 구문 분석 끝에 나타납니다. – Nits

    답변

    0

    내가 AQT 클라이언트 내에서 동일한 쿼리를 실행하면 잘 작동 ...

    public List<usr> getusr() { 
         List<usr> list = new ArrayList<usr>(); 
         String query = "Select USER_ID,Desc from Q7.USERBSC_INFO where STAT_CD='ACTIVE'"; 
    
    list = getJdbcTemplate().query(query, DB2RowMapper.mUsrInfo); 
    
         return list; 
        } 
    

    RowMapper의 (A maxRows를을 사용하여 옵션)하지만 여기서는 그렇지 않다고 생각합니다. 나는 반입되고 것은이 지연 이유 기록() 46000의 더 ...

    당신은 하나 쿼리를 최적화하거나 다른 수 있습니다 마지막에이 절을 사용하려고 시도가

    도움이 될 수 있습니다 생각하지
    OPTIMIZE FOR n ROWS 
    
    +0

    1638 레코드를 가져 오려고하면 다음과 같은 오류가 발생합니다. com.ibm.db2.jcc.c.DisconnectException : 동일한 id 체인 끝 부분에서 0이 아닌 dss 길이 구문 분석 – Nits

     관련 문제

    • 관련 문제 없음^_^