나는 Windows Vista 시스템에서 Python 3.1.1로 작업 중입니다. SQLite3 db에 많은 수의 행을 삽입하려고합니다. 파일이 존재하고 내 프로그램이 행을 db에 제대로 삽입합니다. 그러나 삽입 프로세스의 일부 지점에서이 메시지와 함께 프로그램이 종료됩니다. sqlite3.OperationalError : 데이터베이스 파일을 열 수 없습니다.Python sqlite3 "windows에서 데이터베이스 파일을 열 수 없습니다"
그러나 사망하기 전에 데이터베이스에 제대로 추가 된 행이 여러 개 있습니다. 여기
구체적 삽입 처리하는 코드이다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
와 다이 I 일부 행을 삽입 할 수 있지만이 오류가 발생합니까?
나는 꽤 매끄럽지 않아 3.1의 sqlite, 일반적으로 윈도우, 특히 비스타인지, 또는 무엇을 - 그것을 재현 할 수 없는지 여부를 알 수 없다. 문제를 재현하는 가장 간단한 방법을 게시 할 수 있습니까? 탱크! –
Vista와 Python2.6/Django에서 비슷한 문제가 있습니다. 시뮬레이션하는 한 가지 방법은 Windows 탐색기를 사용하여 db 폴더로 이동 한 다음 새로 고침을 수행하는 것입니다. – luc