Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SQLiteFullException:数据库或磁盘已满(代码13)GreenDao_Android_Android Sqlite_Greendao - Fatal编程技术网

Android SQLiteFullException:数据库或磁盘已满(代码13)GreenDao

Android SQLiteFullException:数据库或磁盘已满(代码13)GreenDao,android,android-sqlite,greendao,Android,Android Sqlite,Greendao,当我从表中删除记录时,如何解决greenDao中的SQLiteFulException 这是我的stacktrace: android.database.sqlite.SQLiteFullException: database or disk is full (code 13) at android.database.sqlite.SQLiteConnection.nativeExecute(Native Method) at android.database.sqlite.SQLiteConn

当我从表中删除记录时,如何解决greenDao中的SQLiteFulException

这是我的stacktrace:

android.database.sqlite.SQLiteFullException: database or disk is full (code 13)
at android.database.sqlite.SQLiteConnection.nativeExecute(Native Method)
at android.database.sqlite.SQLiteConnection.execute(SQLiteConnection.java:555)
at android.database.sqlite.SQLiteSession.endTransactionUnchecked(SQLiteSession.java:437)
at android.database.sqlite.SQLiteSession.endTransaction(SQLiteSession.java:401)
at android.database.sqlite.SQLiteDatabase.endTransaction(SQLiteDatabase.java:522)
at de.greenrobot.dao.AbstractDao.deleteInTxInternal(AbstractDao.java:613)
at de.greenrobot.dao.AbstractDao.deleteInTx(AbstractDao.java:623)
这是我从数据库中删除记录的代码:

QueryBuilder<TaskD> qb = getTaskDDao(context).queryBuilder();
qb.where(TaskDDao.Properties.Uuid_task_h.eq(keyTaskH));
qb.build();
getTaskDDao(context).deleteInTx(qb.list());
getDaoSession(context).clear();
QueryBuilder qb=getTaskDDao(context.QueryBuilder();
qb.where(taskdao.Properties.Uuid_task_h.eq(keytash));
qb.build();
getTaskDDao(context.deleteInTx(qb.list());
getDaoSession(context.clear();

这与绿道无关。如果磁盘已满,则磁盘已满。磁盘空间不足。根据您的操作,偶尔运行真空SQLite可能会对数据库进行碎片整理。

来自SQLite文档

(13) SQLITE_满

SQLITE_FULL结果代码表示写入无法完成,因为磁盘已满。请注意,在尝试将信息写入主数据库文件时可能会发生此错误,或者在写入临时磁盘文件时也可能发生此错误。 有时,即使主磁盘空间很大,应用程序也会遇到此错误,因为在系统上写入临时磁盘文件时会发生此错误,因为临时文件存储在单独的分区上,而主磁盘的空间要少得多。


我猜应用程序安装在SD卡或其他什么东西上。

以下是错误代码列表

下面是sqlite使用的临时文件

您是否从服务器接收到太多数据?

请发布您正在使用的代码。问题是为我正在使用@Egoris的代码编辑的。GreenDao有能力在数据库中设置schema.auto_真空,@greenrobot?不,GreenDao根本不接触真空
(13) SQLITE_FULL
The SQLITE_FULL result code indicates that a write could not complete because the 
disk is full. Note that this error can occur when trying to write information into 
the main database file, or it can also occur when writing into temporary disk files.

Sometimes applications encounter this error even though there is an abundance of 
primary disk space because the error occurs when writing into temporary disk files on 
a system where temporary files are stored on a separate partition with much less 
space that the primary disk.`