IT일지/파이썬

[파이썬 에러] sqlite3.OperationalError database is locked 해결하기

체험가 2024. 1. 26. 12:20
반응형

문제상황

 

sqlite3.OperationalError: database is locked

 

이전글과 동일한 방식으로 db에 값을 입력하려고 하는데 발생한 문제입니다.

코드에는 문제가 없

 

 


해결방법

 

위 상황에서는 DB Browser에서 값을 수정했다면 변경사항 저장하기 또는 취소하기를 눌러주거나 아예 데이터베이스 닫기를 하면 해결됩니다.

 

위 상황과 별개로 DB Browser를 사용하지 않을 경우에도 'database is locked'가 발생할 수 있는데,

트랜잭션으로 여러개의 insert 또는 update 작업을 처리하는 사이에 또다시 insert나 update 작업을 실행하게 되면 해당 에러가 발생하게 됩니다.

이 경우에는 트랜잭션을 빠르게 닫아주거나 try except 로 에러가 발생하면 기다렸다가 다시 수행하게 하는 등 프로그램 로직 변경이 필요합니다.

728x90
반응형