CnPack Forum » CnVCL 组件包 » 请教一个关于SQLite数据库的问题


2005-10-11 11:10 cnLy_12
请教一个关于SQLite数据库的问题

我在操作一个数据库表时,使用除"delete from 表 "外的任何的SQL语句都会出现一个问题:
database disk image is malformed ,这是什么原因导致?
若是因为数据库表内容过多,而我又不想清空数据库表,怎么解决?
急,望不吝赐教,谢谢。

2005-10-11 11:41 croslq
如果sqlite在处理数据库过程中出现“The database disk image is malformed”,如:你在删除 from sometable时,可能遇到这个问题。
那么就是你的arm板上的空间不够(如在/tmp下),请删除掉一些文件。我遇到的情况是空间还剩1-2M都会出现这个提示。删除后空余4M,就正

常了

2005-10-11 11:57 cnLy_12
re:

我的表数据其实只有4000多行,如果连这点数据都不能支持,那么sqlite实在没有什么优势。现在的问题不是在delete from 表的时候出错,而是在有条件的update或delete 时报错,我不想删除里面的数据,不知道有什么方法可以让我在使用LiteDB.Query(sSQL)时不出错。难道是版本问题?

2005-10-18 09:48 zjy
SQLite 在数据库文件修复方面比较弱,文件损坏后难以修复。如果您使用的是同一个版本的数据库引擎和数据文件,该错误可能表明数据文件被损坏了。您可以试试将数据导出来,重建一个数据库再导进去看看。

SQLite3 已经出来比较长的时间了,如果您还在使用 2 的话,建议升级到最新版本使用。

2005-10-21 10:11 cnLy_12
re zjy

你说的方法我试过了,可以的,不过我没有重建数据库,只将数据导出来,再导回去就OK了。只是原因不详,现在看来也只能解释为数据文件受损了。
谢谢。

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.