[解決済み] Sqlite3, OperationalError: データベースファイルを開くことができない
2022-03-01 22:49:21
質問
質問です。データベースを開くことができないのですが?
情報: 私は、プロジェクトで
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 人工知能 人間学習 描画 機械学習モデル作成
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
Python LeNetネットワークの説明とpytorchでの実装
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み] データ型が理解できない
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
opencvとpillowを用いた顔認証システム(デモあり)
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
Python LeNetネットワークの説明とpytorchでの実装
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac