본문으로 바로가기

DB 파일 읽는 도중 에러 발생

category Studies/Python 2022. 1. 15. 13:32
    con = sqlite3.connect("C\path\data.db")
    df = pd.read_sql_query("SELECT * FROM table1", con))

파이썬에서 db파일을 읽으려던 도중 malformed database error 가 일어났다.

 

| 원인

서버에서 실시간으로 갱신 중인 db를 도중에 다운받았기 때문이다.

갱신 중이기 때문에 db파일은 open 상태이고, 미완성인 row 가 db 파일 내부에 있는 상태다. 

이러한 상태의 db 파일은 read_sql_query 메소드로 읽을 수 없었다.

 

| 해결 

DB browser 같은 sql read 전용 프로그램으로 읽어본 결과 테이블 자체는 온전한 것을 확인할 수 있었다. (갱신 중인 부분이 문제가 됨.)

DB broswer 의 DB 압축 기능을 활용해 갱신 중인 부분을 삭제할 수 있었고, malformed database error는 더이상 일어나지 않았다.