2011-07-19 7 views
1

私はDjangoをMacサーバ上でmod_wsgiが提供するようにしようとしています。私はDjangoがデータベースに接続できることを知っています(読み取り専用から読み取り/書き込みにアクセス権を切り替えて、エラーメッセージの変更を見ることができるため)が、データベースに接続できないというエラーが表示されます。私はサーバー上でSQLite v 3.6.12を使用しています。エラーを引き起こすSQLは、表示される「エラー」ページに報告されます。 /Library/Python/2.6/site-packages/django/db/backends/sqlite3/base.pyがで実行される例外の位置、ライン234Djangoの管理者はSQLの挿入物が好きではない

トレースバックの最後の呼び出しに表示エラーが

ありますエラーと
cursor <django.db.backends.util.CursorDebugWrapper object at 0x102c16a50> 
self <django.db.models.sql.compiler.SQLInsertCompiler object at 0x102c16910> 
params ('d59df55372475754aa91299d0c5662b6','NmNlOThlYTVjYTIwYWZjZDgwMzFiMTMxZThjZmRhYzg3NDQ3MzcwYzqAAn1xAVUKdGVzdGNvb2tp\nZXECVQZ3b3JrZWRxA3Mu\n',u'2011-08-02 18:25:48.426508') 
result_type None 
sql 'INSERT INTO "django_session" ("session_key", "session_data", "expire_date") VALUES (%s, %s, %s)' 

OperationalError(「データベースファイルを開くことができません」、)

は、どのように私はこれをデバッグについては行くのですか?

+0

したがって、権限を切り替えるときに発生する2つのタイプのエラーは何ですか?書き込み可能なモードでファイルをお持ちですか?サーバーは操作のために特定のユーザーを使用する可能性が高いことに注意してください。 Linuxでは 'www-data'のようなものがあります。 – julkiewicz

+0

私が読み込み専用にしたファイルを正しく識別していることを確認してください。このエラーは、読み取り専用ファイルに書き込もうとしていました。誰もが読み書きができないように設定しても、エラーには接続できませんでした。エラーは、Djangoが挿入を試みたときに起こりました。 – kd4ttc

答えて

4

SQLiteデータベースの場合、データベースファイルとそれに含まれるディレクトリの両方が、使用しようとするユーザーに書き込み可能である必要があります。

+0

+1私もそれを観察しました。 – julkiewicz

+0

これまでにやったことがありますか?私はこれが最も素晴らしいサイトだと言います。私には問題があり、本当に何の質問をするのか分からない。私はいくつかの分析を行ったことを示し、関連性があることを望む、いくつかのデバッグ出力をポップアップします。 Upはこの1行の答えをポップし、それを釘付けし、それは数時間以内に現れます。素晴らしい! – kd4ttc

+0

グラハムは最初にそれを得ました、そして、ジュルキエビツは名誉ある言及を得ます。その理由は、ロールバックとコミットを処理するためにSQLiteがディレクトリに一時ファイルを書き込むからです。グラハムがこれを述べると、私は何が起こったのか正確に理解した。パーミッションを修正して、正しいと確認された回答。どうも!!! – kd4ttc

関連する問題