为了将数据收集/合并到单个主数据库(名为
output_db
)中,我尝试附加多个输入数据库(一次一个),但有些数据库随机无法附加,并显示“数据库错误:数据库磁盘映像格式错误” :
connection = sqlite3.connect(output_db)
connection.execute("attach '" + dat_file_path + "' as input_db")
"Database Error: database disk image is malformed"
使用 SQLite 的 DB Browser 手动附加数据库时,我没有收到任何错误 (https://sqlitebrowser.org/)
我尝试过检查所有文件的完整性,清理它们,从原来的位置重新导入它们,但无济于事。
我仅限于 Python 3.6.8 和 SQLite3 3.7.17,但我尝试过 SQLite3 3.32.2,但同样失败。
cd $DATABASE_LOCATION
echo '.dump'|sqlite3 $DB_NAME|sqlite3 repaired_$DB_NAME
mv $DB_NAME corrupt_$DB_NAME
mv repaired_$DB_NAME $DB_NAME
我仍然不知道是什么原因导致了错误,但我已经在这个问题上花费了足够的时间,所以我暂时就解决这个问题。