반응형
문제상황
sqlite3.OperationalError: database is locked
이전글과 동일한 방식으로 db에 값을 입력하려고 하는데 발생한 문제입니다.
코드에는 문제가 없
해결방법
위 상황에서는 DB Browser에서 값을 수정했다면 변경사항 저장하기 또는 취소하기를 눌러주거나 아예 데이터베이스 닫기를 하면 해결됩니다.
위 상황과 별개로 DB Browser를 사용하지 않을 경우에도 'database is locked'가 발생할 수 있는데,
트랜잭션으로 여러개의 insert 또는 update 작업을 처리하는 사이에 또다시 insert나 update 작업을 실행하게 되면 해당 에러가 발생하게 됩니다.
이 경우에는 트랜잭션을 빠르게 닫아주거나 try except 로 에러가 발생하면 기다렸다가 다시 수행하게 하는 등 프로그램 로직 변경이 필요합니다.
728x90
반응형