欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

sqlite数据库打不开unable to open database file,该怎么解决

更新时间: 2014-01-05 02:31:42 责任编辑: Author_N1

 

sqlite数据库打不开unable to open database file
最近做一个项目,用到sqlite3,昨天做了压力测试,刚开始一直是好好的,可是大约对数据库的存取操作一个半系小时就会出现unable to open database file,这个问题,网上找了很多,大都是权限问题,可是我这里数据库文件及文件夹的权限全是chmod 777了,而且出现unable to open database file这个错误的地方竟然是sqlite3_exec,以下是实现的代码,希望高手能指点一下,这个问题已经困扰了我好多天了!

rc = sqlite3_open(DBName, &pDB);
if(rc) 
{
printf( "(%s): Cannot open dataBase: %s, Error (%d): %s\n", 
__FUNCTION__, DBName, rc, sqlite3_errmsg(pDB));
goto exit;
}
rc = sqlite3_exec(pDB, sqlCmd, 0, 0, &errMsg);
if(rc) 
{
printf("(%s): SQL Warning (%d): %s\n", __FUNCTION__, rc, errMsg);

exit:
if(pDB) 
{
sqlite3_close(pDB);
pDB = NULL;
}
--参考方法--
压力测试? 你用的是多个客户端同时访问?还是?
需要说明的是SQLite对多用户并发访问支持得非常不好,或者说压根就不支持。
需要在应用代码层自行控制。
--参考方法--
估计是有写冲突吧。 OPEN的时候仅是READ》
--参考方法--
具体问题具体分析。到达上限以后,可能exec又要打开文件一次执行别的操作。从而造成你说的错误。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:31:42
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/10937/
本文WWW.DOC100.NET DOC100.NET版权所有。