ios - Swift:替换 sqlite 文件失败
问题描述
我正在为 iPhone 开发一个应用程序,我尝试为我的 sqlite 数据库开发一个备份功能到用户保管箱:
如果用户正在执行(手动)备份,我的文件“myDatabase.sqlite3”将被复制到保管箱中的选定文件夹中。
如果用户导入备份,我将用 Dropbox 中的文件替换“myDatabase.sqlite3”文件。在此之后,数据库上的所有选择都失败,并出现错误“[logging] disk I/O error in „SELECT...“。但是如果我重新启动我的应用程序,一切都会很好!
所以我认为连接缺少一些东西(当然我在替换文件后打开了一个新连接)?也许有些东西没有刷新或重建?我错过了什么?我没有在一些教程中读到的这些 *-shm 和 *-wal 文件。
非常感谢您的帮助,我已经花费了数小时和数天来尝试我能找到的一切......</p>
解决方案
我发现了错误:这是一个时间问题......我在复制过程尚未完成时打开了新连接!
推荐阅读
- powershell - Get-ChildItem and wildcards and filtering
- python-3.x - Determine if number is prime example in python
- html - Border clipped off in Chrome but not IE or Edge
- delphi - How does this `if not` statement work without parentheses in a new service application?
- javascript - 如何安装节点模块@babel/plugin-transform-class-properties?
- three.js - 将threejs ShaderMaterial 导出为mtl 文件?
- python - 在 anaconda 环境中使用 apache 和 django 运行 wsgi
- parquet - pyarrow 有没有办法查询 parquet 数据集分区的值?
- widget - 为医学教育构建自主药物小部件
- css - 将 mixins 传递给样式化组件