[解決済み】Sqlite3, OperationalError: unable to open database file.
2022-02-02 08:41:33
質問
質問です。データベースを開くことができないのですが?
情報: 私は、プロジェクトで
sqlite3
データベースを使用します。私はテストプログラムを書いて、それを実行してデータベースに渡しました。
/tmp/cer/could.db
ユニットテストプログラムでは
db
問題なく使用できます。しかし、実際に同じ場所を渡してプログラムを使用すると、以下のエラーが発生します。
OperationalError: データベースファイルを開くことができません。
でやってみました。
1) an empty database.
2) the database and the unit test left behind.
3) no database at all.
3件で、上記のようなエラーが発生しました。最もイライラさせられるのは
unittest
はうまくできるのに、実際のプログラムではできない。
一体何が起こっているのか、何か手がかりはないでしょうか?
解決方法は?
一次診断。SQLiteが何らかの理由でそのファイルを開くことができません。
明らかな理由を確認し、私が確認を推奨するおおよその順序で確認します。
- そのプログラムは、テストしているのと同じマシンで動作していますか?
- あなた(または、少なくともあなたがテストしているのと同じユーザー)として実行されていますか?
-
ディスクには
/tmp
がいっぱいになったか?df /tmp
を使えばわかります)。 -
を使用していますか?
/tmp/cer
ディレクトリのパーミッションが「変」になっていませんか?(SQLiteはコミットログなどを処理するために、その中に追加のファイルを作成できる必要があります)。 -
ユニットテストのコードはまだそのデータベースを使用していますか?(コンカレント・オープン
は
最新のSQLiteで、適切なファイルシステムであれば可能です。
/tmp
は事実上常に正しい種類のFS上にあるので、おそらくそうではないのでしょうが、それでもお勧めはできません)。 - 開発コードは 本当に そのデータベースに書き込もうとしているのか、それとも何か「賢い」ものがあって、他のものを開こうとしているのか?(私は過去に自分のコードでこれに引っかかったことがあります。あなたには起こりえないと思わないでください...)
- ユニットテストと本番コードで、同じバージョンの SQLite ライブラリを使用していますか?
同じマシンでない場合、本番システムに
/tmp/cer
ディレクトリを作成します。まずそれを修正するのは当然です。同様に、同じマシンで異なるユーザーとして実行している場合、パーミッションや所有権の問題がある可能性が高いです。ディスクの空き容量も深刻な問題ですが、可能性は低いでしょう。最後の3つが原因であるとは思いませんが、より明白なデプロイの問題が解決されたなら、チェックする価値はあります。もし上記のどれでもないのなら、あなたは異国の問題にぶち当たり、もっと多くの情報を報告しなければならないでしょう(SQLiteのバグかもしれませんが、その開発者を知っているので、それはかなりあり得ないと信じています)。
関連
-
PythonによるLeNetネットワークモデルの学習と予測
-
Python カメの描画コマンドとその例
-
Python LeNetネットワークの説明とpytorchでの実装
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] ATTACHで開いたSQLiteデータベースファイルのテーブルを一覧表示するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python Decorator 練習問題
-
PicgoのイメージベッドツールをPythonで実装する
-
Python Pillow Image.save jpg画像圧縮問題
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない