数据库迁移后保存核心数据时 Cocoa 报错 134030
Posted
技术标签:
【中文标题】数据库迁移后保存核心数据时 Cocoa 报错 134030【英文标题】:Cocoa error 134030 when saving core data after database migration 【发布时间】:2014-06-05 13:28:55 【问题描述】:在我的应用程序的下一个版本中,我对核心数据模型进行了一些更改。我在模型的新版本上制作了它们。更改是简单的表和行添加。我将持久性存储配置为使用NSMigratePersistentStoresAutomaticallyOption
和NSInferMappingModelAutomaticallyOption
自动更新表。这是我的核心数据模型的第 6 次更新,因此它在过去一直有效。当应用程序从以前版本的数据库更新时,我第一次尝试保存 NSManagedObjectContext
时收到以下错误。
2014-06-05 06:13:31.944 Topo Maps[4862:60b] Unresolved error The operation couldn’t be completed. (Cocoa error 134030.)
我查看了很多关于错误 134030 的帖子和 cmets,它们似乎都与无法删除对象或无法更新从未插入的对象有关。我很确定这些都没有发生在我的应用程序中。当应用程序第一次启动时,我在核心数据对象上设置了一个字符串值,然后保存托管上下文,这就是我收到此错误的时候。
过去,当我在升级持久性存储时遇到问题时,尝试使用托管对象模型初始化持久性存储时会出错。
任何帮助将不胜感激。
谢谢!!
【问题讨论】:
【参考方案1】:好的,所以我发现出了什么问题。我觉得自己像个白痴。我没有打印出 NSError 中的所有数据。事实证明,这是因为更新了一个从未插入过的对象。我的应用程序为上次使用的对象保存了一个 URI,正是该 URI 导致了问题。所以这实际上不是数据库迁移问题。这是我的应用程序的新版本如何处理设置中的 URI 的问题。
【讨论】:
以上是关于数据库迁移后保存核心数据时 Cocoa 报错 134030的主要内容,如果未能解决你的问题,请参考以下文章
数据库迁移后报错提示MySQL Error:Can''t find file errno: 13 - Permission denied的解决方法