SQLAlchemy:エラー対処:sqlalchemy.exc.OperationalError: (OperationalError) unable to open database file None None
エラーメッセージ:
sqlalchemy.exc.OperationalError: (OperationalError) unable to open database file None None
エラーが出た背景
sqlite3のデータベースを読み込みいろいろ変更しようとする際に起きた。
エラー部分 engine = create_engine('sqlite:///mydb')
原因解消
どうやらsqlite3のデータベースを開くことが出来ないことに起因するエラーだった。sqlite3のデータベースを拡張子なしで作ってしまったことが原因だった。新たにmydb.sqliteというファイル名でデータベースを作成し、以下のコードを書いた結果エラーは出なかった。
engine = create_engine('sqlite:///mydb.sqlite')
したがってsqliteでデータベースを作成する際は拡張子をちゃんと書くのが教訓となった。
参考:sqlite3のデータベースの作り方 import sqlite3 connection = sqlite3.connect(dbpath) # 例えばconnectの引数として"mydb"とした場合でmydbがなければ、新たにmydbというファイルが作成される。 ''' 新たにdbファイルを作る場合、拡張子がなくても作ることができる。しかし他のモジュール利用のためにも.sqlite等の拡張子をつけるべき。'''