【问题标题】:Can't open sqlite db on ios无法在 ios 上打开 sqlite db
【发布时间】:2013-02-27 12:42:49
【问题描述】:

您好,我正在尝试在 ios 中创建一个 sqlite 数据库。 我使用带有所需参数的 sqlite3_open 方法,但我总是收到错误 14 (SQLITE_CANTOPEN 14 /* Unable to open the database file */)。

即使是最简单的声明也不起作用

NSFileManager *fileMgr = [NSFileManager defaultManager];
NSString *dbPath = [[[NSBundle mainBundle] resourcePath ]stringByAppendingPathComponent:@"data.sqlite3"];

BOOL success = [fileMgr fileExistsAtPath:dbPath];

sqlite3 *db;

if(!success)
{
    NSLog(@"Cannot locate database file '%@'.", dbPath);
}

if(!(sqlite3_open([dbPath UTF8String], &db) == SQLITE_OK))
{
    NSLog(@"An error has occured.");
}
else{
    NSLog(@"Ok");
}

有什么想法吗?

谢谢。

【问题讨论】:

标签: iphone ios xcode sqlite


【解决方案1】:

您无法在应用程序包中获得对 sqlite 数据库的写入权限。相反,将包中的数据库复制到“文件”系统中的适当位置(考虑到 iCloud 问题),然后在那里打开它。让您的应用首先在文件系统中查找数据库,如果不存在则仅复制它。

【讨论】:

  • 他们都应该这么简单!
【解决方案2】:

使用文档目录存储数据库文件,然后创建sqlite....它可以工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-21
    • 2016-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    相关资源
    最近更新 更多