我在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