微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Zumero v3零星同步问题

如何解决Zumero v3零星同步问题

最近,我已经将客户的服务器迁移到了最新的v3版本(他来自1.4版本),随后又将新库链接到他们的Android应用中。应用程序本身也进行了较小的更改,主要是异步加载列表。 使用此版本的应用程序,有时(显然与用户交互没有任何关系),我得出“数据库磁盘映像格式错误”的信息。我试图完全分离与数据库的交互,因此由计时器调用后台同步只能在用户位于主页中时发生。每个前台操作都包装在一个事务中,但是我在VS2019中使用Xamarin,因此将事务隔离级别与Java示例关联起来有点困难。 连接是通过以下语句创建的:

_conn = new sqliteConnection("Data source=" + _dbFile + ";Version=3;PRAGMA journal_mode=WAL;PRAGMA foreign_keys=ON;");

以下是我的日志的摘录,该摘录是在使用sqliteCommand执行命令“ PRAGMA integrity_check”后获得的:

20200924 16:42:50:661 - MainActivity.OnCreate
                        Avvio applicazione,versione v2.1 (42) - 10/03/2020
                        Parametro bundle NULL
20200924 16:42:50:960 - Controllo esistenza database
20200924 16:43:45:965 - *** in database main ***
max rootpage (332) disagrees with header (328)
On page 220 at right child: Bad ptr map entry key=331 expected=(5,220) got=(1,0)
On page 220 at right child: 2nd reference to page 331
Bad ptr map entry key=332 expected=(1,0) got=(5,1)
2nd reference to page 332
On page 5 at right child: invalid page number 4886
20200924 16:43:53:971 - row 5226 missing from index n$rv$txid$565577053
20200924 16:43:53:974 - row 5226 missing from index sqlite_autoindex_z$rv$565577053_1
20200924 16:43:53:975 - row 5227 missing from index n$rv$txid$565577053
20200924 16:43:53:976 - row 5227 missing from index sqlite_autoindex_z$rv$565577053_1
20200924 16:43:53:977 - row 5228 missing from index n$rv$txid$565577053
20200924 16:43:53:978 - row 5228 missing from index sqlite_autoindex_z$rv$565577053_1
20200924 16:43:53:979 - row 5229 missing from index n$rv$txid$565577053
20200924 16:43:53:980 - row 5229 missing from index sqlite_autoindex_z$rv$565577053_1
20200924 16:43:53:981 - row 5230 missing from index n$rv$txid$565577053
20200924 16:43:53:982 - row 5230 missing from index sqlite_autoindex_z$rv$565577053_1
20200924 16:43:53:983 - row 5231 missing from index n$rv$txid$565577053
20200924 16:43:53:984 - row 5231 missing from index sqlite_autoindex_z$rv$565577053_1
20200924 16:43:53:985 - row 5232 missing from index n$rv$txid$565577053
20200924 16:43:53:987 - row 5232 missing from index sqlite_autoindex_z$rv$565577053_1
20200924 16:43:53:988 - row 5233 missing from index n$rv$txid$565577053
20200924 16:43:53:989 - row 5233 missing from index sqlite_autoindex_z$rv$565577053_1
20200924 16:43:53:990 - row 5234 missing from index n$rv$txid$565577053
20200924 16:43:53:991 - row 5234 missing from index sqlite_autoindex_z$rv$565577053_1
20200924 16:43:53:992 - row 5235 missing from index n$rv$txid$565577053
20200924 16:43:53:993 - row 5235 missing from index sqlite_autoindex_z$rv$565577053_1
20200924 16:43:53:994 - row 5236 missing from index n$rv$txid$565577053
20200924 16:43:53:995 - row 5236 missing from index sqlite_autoindex_z$rv$565577053_1
20200924 16:43:53:996 - row 5237 missing from index n$rv$txid$565577053
20200924 16:43:53:997 - row 5237 missing from index sqlite_autoindex_z$rv$565577053_1
20200924 16:43:53:998 - row 5238 missing from index n$rv$txid$565577053
20200924 16:43:53:999 - row 5238 missing from index sqlite_autoindex_z$rv$565577053_1
20200924 16:43:54:000 - row 5239 missing from index n$rv$txid$565577053
20200924 16:43:54:001 - row 5239 missing from index sqlite_autoindex_z$rv$565577053_1
20200924 16:43:54:002 - row 5240 missing from index n$rv$txid$565577053
20200924 16:43:54:003 - row 5240 missing from index sqlite_autoindex_z$rv$565577053_1
20200924 16:43:54:004 - row 5241 missing from index n$rv$txid$565577053
20200924 16:43:54:005 - row 5241 missing from index sqlite_autoindex_z$rv$565577053_1
20200924 16:43:54:006 - row 5242 missing from index n$rv$txid$565577053
20200924 16:43:54:007 - row 5242 missing from index sqlite_autoindex_z$rv$565577053_1
20200924 16:43:54:590 - Errore durante il controllo di integrità
                        The database disk image is malformed
database disk image is malformed

语句PRAGMA完整性_检查以及VACUUM有时会起作用,尤其是在没有丢失的行但数据库仍然给出图像格式错误错误时。 为了解决问题,我尝试使用旧的库(1.4.1.2030),但是初始同步的响应文件是标准大小的十倍(82MB而不是7.5),因此是最终数据库(192MB)而不是21,写作时间明显更长);版本2都恢复正常,但我从未在此应用程序中使用过v2。 该应用程序在三种不同的平板电脑上表现出相同的行为:Nexus7(带有Android 5.1)和两个三星(分别带有Android 6.0和9.0) 你们中有人遇到过类似情况吗?

谢谢。

鲁道夫。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。