2011-02-02 3 views
-1

jdbc 일괄 처리 문을 사용하여 데이터베이스 테이블에 132,000 개의 레코드를 삽입합니다. 내가 직면하고있는 문제는 모든 레코드가 테이블 1444에 삽입 된 테이블에만 삽입되지 않는다는 것입니다.jdbc 일괄 처리에서 100,000 개의 레코드 업데이트 처리

try{ 
     StringBuffer insert = new StringBuffer("INSERT INTO mytable (field1,field2, 
,field3,field 4) VALUES (?, ?, ?, ?)"); 

      pstmt = conn.prepareStatement(insert.toString()); 
      Iterator cptIcd9Iterator = cptIcd9List.iterator();  
      while(cptIcd9Iterator.hasNext()){ 
       cptIcd9VO = (CptIcd9VO)cptIcd9Iterator.next();    
       count++; 
       pstmt.setString(1, "field1"); 
       pstmt.setString(2, "field2"); 
       pstmt.setString(3, "field3"); 
       pstmt.setInt(4, 4); 
       pstmt.addBatch(); 
      } 
      updateCounts = pstmt.executeBatch(); 
    } 
    catch (Exception e) { 
     logger.error(e); 
    } 

아무도 도와 줄 수 있습니까?

+0

정보가 충분하지 않거나 예를 들어 오류가 발생합니까? – Matt

+0

아니요 아무런 오류가 없습니다. 예외 나 오류없이 정상적으로 종료됩니다. – Zeeshan

+0

끝에 updateCounts가 무엇입니까? 이 플래그는 1444 행에서만 성공합니까? – Matt

답변

2

모두 한 번에 삽입 할 수 없으므로 단계별로 수행해야합니다.

this SO post을 읽으십시오.