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 Simulatorr
答案 0 :(得分:2)
SQLite错误代码14表示
无法打开数据库文件。
您可以从此处获取描述:https://sqlite.org/c3ref/c_abort.html
对于您的问题,确切的路径是什么?您是否对路径进行了硬编码?不要对路径进行硬编码,使用类似
的模式let path = NSHomeDirectory() + "/Documents/database.sqlite"
获取数据库的路径以查看问题是否可以解决。
答案 1 :(得分:1)
错误14的最佳解决方案是更改数据库文件存储目录中的设置,以便提供对数据库文件的写访问权限。为此,如果您使用的Web服务器作为www-data运行,则可以运行以下命令。 ;)