打开SQlite数据库的时候报错 -问答-阿里云开发者社区-阿里云

开发者社区> 爵霸> 正文

打开SQlite数据库的时候报错

2016-03-26 08:44:16 1436 1

用嵌入SQLite数据库开发ios应用,我把数据库放到SQlite管理员,然后拖到Xcode工程中。但是当我打开DB的时候,报错 out of memory ,不知道是不是SQlite的bug,因为我的文件很小,应该不会报出内存问题。

初始化数据库的代码:

- (id)initWithPath:(NSString *)path {
if (self = [super init]) {
    BOOL success;
    NSError *error;
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *dbPath = [documentsDirectory stringByAppendingPathComponent:@"SoundLib_DB.sqlite"];

    if ([fileManager fileExistsAtPath:dbPath] == NO) {
        NSString *resourcePath = [[NSBundle mainBundle] pathForResource:@"SoundLib_DB" ofType:@"sqlite"];
        [fileManager copyItemAtPath:resourcePath toPath:dbPath error:&error];
    }

    success = [fileManager fileExistsAtPath:dbPath];
    if(!success)
    {
        NSLog(@"Cannot locate database file '%@'.", dbPath);
    }
    sqlite3 *dbConnection;
//Here is when I get the error, at trying to open the DB
    if (sqlite3_open_v2("SoundLib", &dbConnection, SQLITE_OPEN_READWRITE, NULL) != SQLITE_OK) {
        NSLog(@"[SQLITE] Unable to open database!");
        NSLog(@"%s Prepare failure '%s' (%1d)", __FUNCTION__, sqlite3_errmsg(database), sqlite3_errcode(database));
        return nil;
    }
    database = dbConnection;
}
return self;
}
取消 提交回答
全部回答(1)
  • 爵霸
    2019-07-17 19:15:07

    报错可能是由于数据库路径传递为UTF8String,我看见你传递"SoundLib",不能这样直接传递。

     if (sqlite3_open([dbPath UTF8String], &databaseHandle) == SQLITE_OK)
    {
       //dbPath is your full database path you getting above
    }

    P.S.dbpath作为const char
    `
    const char *dbpath
    `

    0 0
相关问答

17

回答

【大咖问答】对话PostgreSQL 中国社区发起人之一,阿里云数据库高级专家 德哥

阿里ACE 彭飞 2019-07-10 09:36:10 967453浏览量 回答数 17

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 157084浏览量 回答数 145

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 333870浏览量 回答数 8

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 146780浏览量 回答数 22

3

回答

请问postgres实时同步数据到mysql数据库有什么好的方案吗?

toni3 2019-06-29 14:55:43 115793浏览量 回答数 3

2

回答

mySQL数据库报错You have an error in your SQL syntax

落地花开啦 2016-02-14 16:09:24 126473浏览量 回答数 2

38

回答

安全组详解,新手必看教程

我的中国 2017-11-30 15:23:46 256866浏览量 回答数 38

21

回答

请教一下数据量有100万条左右要什么配置?

易网网络 2013-03-27 15:18:02 192334浏览量 回答数 21

78

回答

【2013.9.5修正版图文】新手如何使用阿里云(linux)服务器建站(搬站)

姑苏公子 2013-04-11 00:39:13 107739浏览量 回答数 78

103

回答

云虚拟主机使用教程完整版!!

梦丫头 2015-08-08 13:12:33 107352浏览量 回答数 103
+关注
2
文章
9426
问答
推荐问答
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载