Pythonでsqlite3を使用しています。コマンドラインからテーブルをCRUDできます。
また、Python を介してレコードを正常に選択、挿入、および削除 (!) することもできます。ただし、(まったく同じ接続コンテキスト内で)更新しようとすると、「データベースファイルを開けません」という例外が発生します。
私は困惑しています、何かアイデアはありますか?
PS: これが関連する場合、テーブルは Django の manage.py syncdb を介して作成されました。PPS: CGI を介してコードを実行しています (ファイルへのすべてのアクセス許可が付与されているため、データベースにも追加できます)
申し訳ありませんコードを逃した:
sDb = 'this\is\my\db'
conn = sqlite3.connect( sDb )
cursor = conn.cursor()
# below works:
sSql = "insert into app_filestamp ( file_id, sFileStamp ) values ( 12, 'YYYYY' )"
# below raises the error
sSql = "update app_filestamp set sFileStamp='XXXXX' where id=13"
cursor.execute( sSql )
conn.commit()
conn.close()
"解決"
この厄介な動作 (挿入は機能するが、更新は機能しない) は、Windows 環境でのみ発生しました。ご意見ありがとうございます。これは明らかに既知の問題ではないため、アプローチを再考し、CGI の必要性を取り除きました。この問題についてこれ以上調査していないことをご了承ください。