sqlite保存数据时出现SQL error:disk I/O error异常

regersubadm 2011-09-09 06:00:30
sqlite(Ver 3.7.5)偶尔保存数据时出现SQL error:disk I/O error异常,出现的频率非常低,原来以为是磁盘空间不够,后来发现不是这个原因,大家有没有遇到过这个问题呀!!
...全文
12020 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
Joe-xXx 2012-04-19
  • 打赏
  • 举报
回复
具体的异常信息和代码号是多少?
regersubadm 2011-12-14
  • 打赏
  • 举报
回复
这个问题我这里现在也没有办法重现,很长一段时候没有出现过该问题了。

个人分析导致该问题的原因可能有:-、磁盘空间不足。 二、文件访问权限。 三、事务没有提交
regersubadm 2011-12-14
  • 打赏
  • 举报
回复
这个问题我这里现在也没有办法重现,很长一段时候没有出现过该问题了。

个人分析导致该问题的原因可能有:-、磁盘空间不足。 二、文件访问权限。 三、事务没有提交
liaohuanlong 2011-12-06
  • 打赏
  • 举报
回复
这个问题该怎么处理呢,急啊!
iDeputy 2011-11-23
  • 打赏
  • 举报
回复
遇到这种情况要怎么处理?
qby19850312 2011-11-19
  • 打赏
  • 举报
回复
遇到相同的问题
giant7 2011-10-12
  • 打赏
  • 举报
回复
学习了
shengfang666 2011-10-09
  • 打赏
  • 举报
回复
弹出一个对话框,显示一下,执行后的result是多少,然后查一下原因
/* beginning-of-error-codes */
#define SQLITE_ERROR 1 /* SQL error or missing database */
#define SQLITE_INTERNAL 2 /* Internal logic error in SQLite */
#define SQLITE_PERM 3 /* Access permission denied */
#define SQLITE_ABORT 4 /* Callback routine requested an abort */
#define SQLITE_BUSY 5 /* The database file is locked */
#define SQLITE_LOCKED 6 /* A table in the database is locked */
#define SQLITE_NOMEM 7 /* A malloc() failed */
#define SQLITE_READONLY 8 /* Attempt to write a readonly database */
#define SQLITE_INTERRUPT 9 /* Operation terminated by sqlite3_interrupt()*/
#define SQLITE_IOERR 10 /* Some kind of disk I/O error occurred */
#define SQLITE_CORRUPT 11 /* The database disk image is malformed */
#define SQLITE_NOTFOUND 12 /* NOT USED. Table or record not found */
#define SQLITE_FULL 13 /* Insertion failed because database is full */
#define SQLITE_CANTOPEN 14 /* Unable to open the database file */
#define SQLITE_PROTOCOL 15 /* Database lock protocol error */
#define SQLITE_EMPTY 16 /* Database is empty */
#define SQLITE_SCHEMA 17 /* The database schema changed */
#define SQLITE_TOOBIG 18 /* String or BLOB exceeds size limit */
#define SQLITE_CONSTRAINT 19 /* Abort due to constraint violation */
#define SQLITE_MISMATCH 20 /* Data type mismatch */
#define SQLITE_MISUSE 21 /* Library used incorrectly */
#define SQLITE_NOLFS 22 /* Uses OS features not supported on host */
#define SQLITE_AUTH 23 /* Authorization denied */
#define SQLITE_FORMAT 24 /* Auxiliary database format error */
#define SQLITE_RANGE 25 /* 2nd parameter to sqlite3_bind out of range */
#define SQLITE_NOTADB 26 /* File opened that is not a database file */
#define SQLITE_ROW 100 /* sqlite3_step() has another row ready */
#define SQLITE_DONE 101 /* sqlite3_step() has finished executing */
/* end-of-error-codes */
ACMAIN_CHM 2011-10-09
  • 打赏
  • 举报
回复
应该是文件锁定了。 你可以用微软的工具Procmon.exe 来看一下文件的打开,锁定,读写情况。
regersubadm 2011-10-09
  • 打赏
  • 举报
回复
一般来说返回的错误值是:SQLITE_READONLY,但事实上该文件不是ReadOnly,重新启动一下软件就又可以了。
regersubadm 2011-09-27
  • 打赏
  • 举报
回复
看来用sqlite的还是比较少的。
wwwwb 2011-09-21
  • 打赏
  • 举报
回复
概念->概率
wwwwb 2011-09-21
  • 打赏
  • 举报
回复
出现概念非常低,不容易捕获
regersubadm 2011-09-21
  • 打赏
  • 举报
回复
大家都没有遇到这个问题吗?
regersubadm 2011-09-16
  • 打赏
  • 举报
回复
主要是太难重现了,所以也不太好直接定位。
ACMAIN_CHM 2011-09-14
  • 打赏
  • 举报
回复
不是语句的问题,当时你的文件是否被锁定? 关掉杀毒软件试一下。
regersubadm 2011-09-14
  • 打赏
  • 举报
回复
数据库是放在本地的。
WWWWA 2011-09-14
  • 打赏
  • 举报
回复
是单机还是网络?
regersubadm 2011-09-14
  • 打赏
  • 举报
回复
SQL语句大概为:INSERT INTO [Mark] VALUES(NULL, 25, 0, NULL)等等这样类似的,因为绝大部分时间不会出问题,所以SQL的问题应该是比较小的。

另外模拟器是什么哟?
regersubadm 2011-09-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 acmain_chm 的回复:]
不是语句的问题,当时你的文件是否被锁定? 关掉杀毒软件试一下。
[/Quote]

锁定应该没有,操作数据库都是放到主线程里面的。杀毒软件也是有可能的,但是出现机率很低,而杀毒软件是一直打开的,所以可能性也是比较小的。

加载更多回复(3)

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧