Swift:替换sqlite文件失败

时间:2020-05-06 12:53:17

标签: ios swift sqlite

我正在为iPhone开发一个应用程序,我尝试为我的sqlite数据库开发一个备份功能到用户保管箱:

如果用户正在执行(手动)备份,则将我的文件“ myDatabase.sqlite3”复制到该保管箱中的选定文件夹。

如果用户导入了备份,则将“ myDatabase.sqlite3”文件替换为保管箱中的文件。此后,数据库上的所有Select都会失败,并在“ SELECT ...”中出现错误“ [logging]磁盘I / O错误”。但是,如果我重新启动应用程序,一切都会很好!

所以我认为连接丢失了一些东西(当然,替换文件后我打开了一个新的连接)?也许某些东西没有刷新或重建?我想念什么?我没有在某些教程中了解到的* -shm和* -wal文件。

非常感谢您的帮助,我花了数小时和数天的时间尝试一切可能找到的东西……

1 个答案:

答案 0 :(得分:0)

我发现了错误:这是一个计时问题……在复制过程尚未完成时,我打开了新连接!