문제

나는 이전에 Wind

sqlite3.OperationalError: unable to open database file

다음을 사용합니다.

python manage.py sql Blog

어떤 아이디어가 잘못되었는지 아이디어가 있습니까? 데이터베이스 파일은 안에 있습니다 C:\Software\Sqlite\Databases\Blog.db

그리고 상대적인 settings.py 또는 섹션은 간단합니다.

DATABASE_ENGINE = 'sqlite3'           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'C:\Software\Sqlite\databases\blog.db'             # Or path to database file if using sqlite3.
DATABASE_USER = ''             # Not used with sqlite3.
DATABASE_PASSWORD = ''         # Not used with sqlite3.
DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = ''             # Set to empty string for default. Not used with

또한 테스트 목적으로 모든 권한을 가진 모든 사람을 추가했습니다.

그러나 내가 말한 것처럼 다음 오류가 발생합니다.

sqlite3.OperationalError: unable to open database file

모든 도움이 감사합니다.

앤드류

도움이 되었습니까?

해결책

전체 Windows 경로를 사용하여 SQLITE 데이터베이스에 액세스 할 수 있다고 생각하지 않습니다. 나는 여기서 몇 가지 테스트를 실행하고 Django의 SQLite3 데이터베이스를 사용할 수있는 유일한 방법은 프로젝트의 동일한 디렉토리에 있지 않은 Database_name = '../anotherfolder/db.db'(C : Otherfolder에 위치하고 있습니다. 및 프로젝트는 C : mydjangoproject에 위치했습니다)

다른 팁

나는이 질문에 이미 받아 들여진 답변이 있다는 것을 알고 있지만, 당신이 무언가를 놓친 것 같습니다. 문자열에 백 슬래시가 포함되어있을 때는 생 문자열을 사용해야합니다.

DATABASE_NAME = r'C:\Software\Sqlite\databases\blog.db' 

원시 문자열을 사용하지 않으면 발생합니다.

>>> print 'C:\Software\Sqlite\databases\blog.db'
C:\Software\Sqlite\databaselog.db

추측은 파일이 실제로 그 딥에 있지 않다는 것입니다. UAC 활성화가 있으면 Windows 7은 파일이 해당 위치에있는 것처럼 보이게합니다 (Windows Explorer에 나타납니다). 그러나 파일은 실제로 C : Users yourusername appData local virtualStore Software Sqlite 데이터베이스 또는 유사한 위치에 저장됩니다.

폴더의 권한을 살펴보십시오. 일반 사용자가 파일을 편집 할 수 있습니까?

Database_Name : From에서 슬래시를 반대로 반전하십시오 C:\Software\Sqlite\databases\blog.db 에게C:/Software/Sqlite/databases/blog.db

나는 Win7에서 django 1.4를 사용하고 있으며 이것이 나에게 솔루션이었습니다. 파일은 이미 존재할 필요가 없습니다.

데이터베이스 이름에서 슬래시를 되돌리면 문제가 해결되었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top