django의 sqlite3을 해결하는 데이터베이스 is locked

2114 단어 Django
오늘 관리자 백그라운드로 블로그 한 편을 추가했는데, 마지막에 오류가 발생했습니다: DatabaseError at...데이터베이스 is locked, 내 데이터베이스에서 sqlite3을 사용하기 때문에 대량의 접근을 지원하지 않을 수도 있다. 그러나 현재 나 혼자만 방문하면 오류가 보고된다. 나는 구글에서 데이터베이스 Error at 데이터베이스 is locked와 django 데이터베이스 is locked를 검색했는데 찾은 정보는 sqlite3이 다중 루트 접근에 적합하지 않고 threding 접근에 적합하지 않다는 것이다.나의 그 프로그램들은 원래 멀쩡했는데, 오늘 블로그 글을 추가하는 것이 갑자기 안 되어서 이어서 답을 검색했다.마지막으로 이 한 편을 찾았다.
http://www.cse.msu.edu/~wangyua6/blog/?p=1516  [django]SQLite database is locked     

내용이 매우 짧고 일부 사람들이 방문하지 못할 수도 있으니 아예 아래에 붙여라.
Oct 
01
2011
오늘 django를 했는데 django가 추천한 SQLite를 사용했습니다. 제가 졸랐는데 데이터베이스에 쓸 때'Database is locked'오류가 발생했습니다.어쩔 수 없지, 개를 풀어주고, 여기, 여기, 여기를 뒤졌지만, 시도해 보았지만 해결할 수가 없었어.
결과적으로 비극의 발견은 SQLite의 데이터베이스 파일의 권한이 안 된다는 것이다...666으로 바꾸면 OK...
148 views
doubletony가 20:55에 발표되었습니다.
저자의 이 몇 마디는 나에게 내가 바로 서버에 로그인해서 권한을 볼 수 있다는 것을 일깨워 주었다. 원래 나의 sqlite3 데이터베이스도 -rw-r--r 권한만 있었는데 666으로 바뀐 후에 데이터베이스가 잠긴 오류가 없었다.원래 오류가 났는데 몇 번 갱신하거나 몇 분 기다려야 방문할 수 있었는데 지금은 필요 없어요.
https://code.djangoproject.com/ticket/9409
또는https://docs.djangoproject.com/en/dev/ref/databases/#database-is-locked-errors 해보세요.
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME':   os.path.join(YOUR_DIR,'data.db'),      # Or path to database file if using sqlite3.
        'USER': '',                      # Not used with sqlite3.
        'PASSWORD': '',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
      'OPTIONS': {
        'timeout': 20,
    }
    }
}


DATABASES의 필드에 다음을 추가합니다.
      'OPTIONS': {
        'timeout': 20,
    }

좋은 웹페이지 즐겨찾기