반응형
JDBC 연결 기본 자동 커밋 동작
저는 오라클에 연결하기 위해 JDBC와 함께 일하고 있습니다.테스트했습니다.connection.setAutoCommit(false)
대connection.setAutoCommit(true)
결과는 예상대로였습니다.
기본적으로 연결은 다음과 같이 작동합니다.autoCommit(true)
[내가 틀렸다면 고쳐줘] 하지만 어떤 기록도 삽입되지 않습니다.connection.commit()
호출되었습니다.기본 동작에 대한 조언이 있습니까?
String insert = "INSERT INTO MONITOR (number, name,value) VALUES (?,?,?)";
conn = connection; //connection details avoided
preparedStmtInsert = conn.prepareStatement(insert);
preparedStmtInsert.execute();
conn.commit();
Oracle JDBC 설명서에서 제공하는 정보:
연결이 생성되면 자동 커밋 모드가 됩니다.즉, 각 개별 SQL 문은 트랜잭션으로 처리되며 실행 직후 자동으로 커밋됩니다.자세한 내용은 SQL 문이 실행될 때가 아니라 완료될 때 커밋되는 것이 기본값입니다. 모든 결과 집합 및 업데이트 횟수가 검색되면 문이 완료됩니다.그러나 거의 모든 경우에 문은 실행된 직후에 완성되고 따라서 커밋됩니다.)
또 다른 것은 - 연결 생성 세부 정보를 생략했으므로, 제가 추측하기로는 - 만약 당신이 일부 프레임워크를 사용하거나 데이터 소스 또는 연결 풀에서 연결을 획득하고 있다면,autocommit
뒤집힐 수도 있는off
이러한 프레임워크/문서/문서 소스에 의해 - 해결책은 기본 설정을 절대 신뢰하지 않는 것입니다;-)
언급URL : https://stackoverflow.com/questions/11021304/jdbc-connection-default-autocommit-behavior
반응형
'sourcecode' 카테고리의 다른 글
디렉터리 검색기에서 1000개 이상의 레코드를 가져올 수 있습니까? (0) | 2023.06.13 |
---|---|
IIS에서 Windows 인증이 웹 응용 프로그램의 옵션 중 하나로 표시되지 않는 이유는 무엇입니까? (0) | 2023.06.13 |
asp.net MVC에서 LabelForHelper를 사용하지 않고 DisplayName 특성을 가져옵니다. (0) | 2023.06.13 |
Cloud Firestore: 동적 키를 사용하여 중첩된 개체의 필드 업데이트 (0) | 2023.06.13 |
dbms_lob.create temporary()의 요점은 무엇입니까? (0) | 2023.06.13 |