ViewController 中的 SQLite 错误 14

SQLite error 14 in ViewController

import GRDB

class MyView: UIViewController{
    override func viewDidLoad() {
    super.viewDidLoad()
        do{
            let dbPool = try DatabasePool(path: "/path/to/database.sqlite")
        }catch let error{
        print(error)
    }
    }
}

错误是打印 SQLite 错误 14

什么是 SQLite 错误 14?

先用GRDB再先调用SqlLite

为什么会引发错误?

Ios 11.0 Swift 4.0 Grdb 2.10.0

构建到 Iphone8 模拟器

错误14的最佳解决方案是更改存储数据库文件的目录中的设置,以便为数据库文件提供写访问权限。为此,如果您使用 运行s 作为 www 数据的网络服务器,您可以 运行 以下命令。 ;)

SQLite 错误代码 14 表示

Unable to open the database file.

您可以从那里获得描述:https://sqlite.org/c3ref/c_abort.html

对于你的问题,具体路径是什么?您是否对路径进行了硬编码?不要对路径进行硬编码,使用

这样的模式
let path = NSHomeDirectory() + "/Documents/database.sqlite"

获取你的数据库路径,看看能否解决你的问题。