Sqlite3.OperationalError: 데이터베이스 파일을 열 수 없습니다
이 기사에서는 sqlite3.OperationalError: 데이터베이스 파일을 열 수 없음
작동 오류에 대처하는 방법을 설명합니다.
sqlite3.OperationalError: 데이터베이스 파일을 열 수 없습니다
SQLite 오류
오류를 해결하려면 아래 질문을 해결해야 합니다.
-
소프트웨어를 테스트하는 컴퓨터와 동일한 컴퓨터에서 테스트하고 있습니까?
-
테스트하는 것과 동일한 사용자로 실행되고 있습니까?
-
디스크의
/tmp
디렉토리가 꽉 찼습니까? -
/tmp/cer
디렉토리에 대한 권한이 “홀수"입니까?SQLite는 커밋 로그와 같은 것을 처리하기 위해 추가 파일을 생성할 수 있어야 합니다.
-
단위 테스트 코드가 여전히 데이터베이스를 사용합니까?
동시 열기는 최신 SQLite와 올바른 파일 시스템으로 가능합니다. 그러나
/tmp
는 거의 항상 올바른 종류의 FS에 있으므로 아마도 그렇지 않을 것입니다. 그러나 여전히 권장되지는 않습니다. -
개발 코드가 해당 데이터베이스에 쓰려고 합니까, 아니면 “똑똑한” 무언가가 당신을 경계하고 다른 것을 열도록 유도합니까?
-
단위 테스트와 프로덕션 코드는 동일한 SQLite 라이브러리 버전을 사용합니까?
동일한 컴퓨터에 있지 않다면 프로덕션 시스템에 /tmp/cer
디렉토리가 없을 수도 있습니다. 이 문제를 먼저 해결해야 하는 것은 자명합니다.
마찬가지로 동일한 시스템에서 여러 사용자로 작업하는 경우 권한/소유권 문제가 발생할 수 있습니다. 또 다른 잠재적인 올가미는 디스크 공간 부족입니다.
아마도 마지막 3가지가 아닐 수 있지만 더 분명한 배포 문제가 해결된 경우 검토할 가치가 있습니다.
다음 중 어느 것도 적용되지 않는 경우 비정상적인 상황이 발생했으며 훨씬 더 많은 정보를 제공해야 합니다(SQLite의 버그일 수도 있지만 개발자를 알고 있는 경우 그럴 가능성은 거의 없습니다).
이러한 방법으로 sqlite3.OperationalError: 데이터베이스 파일을 열 수 없음
을 해결할 수 있습니다.