addBatch
이 추가 된 배치 문이 많은 java.sql.Statement
이 있습니다. executeBatch
을 실행하면 데이터베이스 제한을 위반하는 첫 번째 명령문 이후에 BatchUpdateException
이 반환되고 나머지 모든 명령문은 일괄 적으로 실행되지 않습니다. 잘못된 문장을 무시하고 모든 문장을 일괄 적으로 실행할 수있는 방법이 있습니까?모든 잘못된 문장을 무시하고 JDBC executeBatch에서 좋은 문장을 모두 실행하는 방법은 무엇입니까?
2
A
답변
1
비슷한 질문과 대답은 BatchUpdateException: the batch will not terminate을 참조하십시오.
일괄 처리는 예외가 발생하는 순간 종료됩니다. 좋은 것들만 실행할 수는 없습니다.
2
더 나은 해결책은 오류를 수정하는 것입니다. 뭐가 문제 야? SQL? 밑에있는 테이블들? 자료?
예외는 "예외적"이라고 가정합니다. 어떤 상황이 너무 일반적이어서이 배치로 더 자주 볼 가능성이 있습니까?
예외는 뭔가 잘못되었다는 것을 알려줍니다. 나는 당신이 메시지를 무시할 수있는 수정을 추천하고 싶지 않을 것이다. 예외가 발생하면 catch 블록에서 근본 문제를 개선 할 수있는 기회가 있음을 의미합니다.
일괄 처리의 각 문을 반복 할 경우 개별적으로 예외를 catch하고 오류를 기록하기 만하면됩니다. 완전히 무시하지 마세요.
하지만 다른 복구 전략을 생각할 수 없다면 운이 없어집니다.
0
잘 삽입 할 수있는 모든 데이터를 저장하려면 커밋을 실행하고 저장해야합니다.
일괄 처리의 각 문을 반복 할 수 없습니다. 일괄 처리를 호출 할 때만 예외 (각 문 (addbatch))가 아닌 예외가 발생하므로 오류가 발생한 위치를 정확하게 찾을 수 없습니다. 그 중 일부를 저장할 수도 있고 아무 것도하지 않을 수도 있습니다 (커밋 또는 롤백).
관련 문제
- 1. 논리 문장을 줄이는 방법은 무엇입니까?
- 2. 기분별로 문장을 버리십시오.
- 3. 소문자로 시작하는 문장을 삭제하는 방법은 무엇입니까?
- 4. 텍스트에서 주요 문장을 추출하십시오
- 5. 문장을 프롤로그 코드로 변환하십시오.
- 6. 이 문장을 작성하는 올바른 방법은 무엇입니까
- 7. Ruby에서이 문장을 구별하는 올바른 방법은 무엇입니까?
- 8. 준비된 문장을 시행하는 방법
- 9. 일부 문장을 찾으십시오
- 10. jQuery Document Ready - 각 문장을 래핑하거나 모든 문장을 하나의 document.ready 이벤트로 감싸는 것이 가장 좋습니다.
- 11. PHP가 모든 주어진 문장을 실행하지 않습니다
- 12. 프로젝트 디렉토리를 인쇄하려면 문장을 사용하십시오
- 13. 문장을 특정 단어 수만큼 자릅니다.
- 14. 는 여기이 문장을 쓰고
- 15. 문장으로 문장을 파싱 하시겠습니까?
- 16. 문장을 문장으로 나눕니다.
- 17. 공식 문법에서 문장을 생성하려면 어떻게해야합니까?
- 18. 문자열에서 숫자 문장을 찾는 방법
- 19. T-SQL의 문장을 세미콜론으로 끝내야합니까?
- 20. 중위어에서 후위에이 문장을 어떻게 써야하나요?
- 21. 나는이 문장을 가정하고 있다고 확신한다.
- 22. F의 의미론은 쉼표로 문장을 바꿉니다
- 23. Django는 'WHERE ... BETWEEN ...'문장을 생성합니까?
- 24. 간단한 영어 문장을 분석하는 방법
- 25. 공백/분리자가없는 문장을 공백이있는 문장으로 나누기
- 26. mysql과 jdbc 연결을 설정하는 가장 좋은 방법/템플릿은 무엇입니까?
- 27. SQL Server 2005에서 실행되는 모든 문장을 알 수있는 방법이 있습니까?
- 28. 패턴과 일치하는 가장 짧은 문장을 찾는 알고리즘
- 29. MVC 패턴 하나의 문장을 이해하지 못합니다
- 30. 웹 사이트에서 문장을 얻는 방법 html