我在Windows Vista計算機上的python 3.1.1工作窗口。我正在嘗試將大量的行插入到SQLite3數據庫中。該文件存在,並且我的程序正確地將一些行插入到數據庫中。但是,在插入過程的某個時刻,程序將隨着此消息而死亡: sqlite3.OperationalError:無法打開數據庫文件Python的sqlite3的「無法打開數據庫文件」關於
但是,在它死亡之前,有幾行正確添加到數據庫中。
這裏是一個專門處理的插入的代碼:
idx = 0
lst_to_ins = []
for addl_img in all_jpegs:
lst_to_ins.append((addl_img['col1'], addl_img['col2']))
idx = idx + 1
if idx % 10 == 0:
logging.debug('adding rows [%s]', lst_to_ins)
conn.executemany(ins_sql, lst_to_ins)
conn.commit()
lst_to_ins = []
logging.debug('added 10 rows [%d]', idx)
if len(lst_to_ins) > 0:
conn.executemany(ins_sql, lst_to_ins)
conn.commit()
logging.debug('adding the last few rows to the db')
此代碼插入從10至400行的任何地方,然後用該錯誤消息
conn.executemany(ins_sql, lst_to_ins)
sqlite3.OperationalError: unable to open database file
模具如何是有可能,我可以插入一些行,但然後得到這個錯誤?
我很不知所措,不能判斷它是否與3.1的sqlite的一個bug,在一般情況下,在Vista中特別,或者說窗口 - 我不能複製。你能發佈最簡單的方法來重現你的問題......?坦克! – 2009-10-07 05:24:08
我有Vista和Python2.6/Django類似的問題。一種模擬方法可能是使用Windows資源管理器轉到db文件夾,然後強制刷新 – luc 2010-03-26 10:45:38