代码之家  ›  专栏  ›  技术社区  ›  Adam

viewcontroller中的sqlite错误14

  •  2
  • Adam  · 技术社区  · 6 年前
    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斯威夫特4.0 Grdb 2.10.0

    内置到Iphone8模拟器

    2 回复  |  直到 6 年前
        1
  •  3
  •   Tim    6 年前

    SQLite错误代码14表示

    无法打开数据库文件。

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

    对于你的问题,具体路径是什么?你把这条路硬编码了吗?不要硬编码路径,使用如下模式

    let path = NSHomeDirectory() + "/Documents/database.sqlite"
    

    获取数据库的路径以查看问题是否可以解决。

        2
  •  1
  •   user10100968user10100968    6 年前

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