首页 > 解决方案 > Swift:替换 sqlite 文件失败

问题描述

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

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

如果用户导入备份,我将用 Dropbox 中的文件替换“myDatabase.sqlite3”文件。在此之后,数据库上的所有选择都失败,并出现错误“[logging] disk I/O error in „SELECT...“。但是如果我重新启动我的应用程序,一切都会很好!

所以我认为连接缺少一些东西(当然我在替换文件后打开了一个新连接)?也许有些东西没有刷新或重建?我错过了什么?我没有在一些教程中读到的这些 *-shm 和 *-wal 文件。

非常感谢您的帮助,我已经花费了数小时和数天来尝试我能找到的一切......</p>

标签: iosswiftsqlite

解决方案


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


推荐阅读