Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.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
Ios 调整Dropbox数据存储同步和增量大小错误的流_Ios_Dropbox Api - Fatal编程技术网

Ios 调整Dropbox数据存储同步和增量大小错误的流

Ios 调整Dropbox数据存储同步和增量大小错误的流,ios,dropbox-api,Ios,Dropbox Api,哇,这个标题真是太好了。请允许我解释一下 我通过SQLite将数千条记录迁移到本地Dropbox数据存储中。然后,当我连接到Dropbox并将记录迁移到远程数据存储时,我启动了同步并出现以下错误: [错误]db:database_manager.cpp:1354:datastore op PutDeltaOpdsid=default,rev=0->1,nonce=pszhi1qeepzsrb9iqrftg失败:put_delta错误响应400:ERROR:put_delta大小4138303超过

哇,这个标题真是太好了。请允许我解释一下

我通过SQLite将数千条记录迁移到本地Dropbox数据存储中。然后,当我连接到Dropbox并将记录迁移到远程数据存储时,我启动了同步并出现以下错误:

[错误]db:database_manager.cpp:1354:datastore op PutDeltaOpdsid=default,rev=0->1,nonce=pszhi1qeepzsrb9iqrftg失败:put_delta错误响应400:ERROR:put_delta大小4138303超过大小限制2097152字节

我知道同步有一个大小限制,所以一次只能向Dropbox服务器发送这么多。但是,如果我有N个本地记录,如何让Dropbox同步而不受记录大小/数量的限制?此时,它们是数据存储记录,我假设Dropbox将自行管理同步


您知道我如何调节数据同步以避免超出限制吗?

在添加记录时,您需要观察计数和大小,以确保在呼叫前不会超过限制。可以使用DBDatastore检查未同步更改的当前大小。取消同步更改大小:


隐马尔可夫模型。。。让我看看我是否明白。同步唯一要做的就是将增量缓存与数据存储合并,对吗?因此,数据存储是本地还是远程并不重要。它们必须以相同的方式同步。这是正确的吗?我问的原因是,我在数据存储仍然是本地的情况下添加了一组记录,而上述错误仅在我迁移到远程数据存储并尝试与服务器同步时发生。此外,如果您有一个关于如何使用unsyncedChangesSize的示例,那就太好了。在Google上搜索时,有3个搜索结果,其中2个是API文档:是的,本地和远程数据存储都要求您调用sync来提交更改。在远程情况下,这会立即将要发送到服务器的更改排入队列,而在本地情况下,如果迁移到远程数据存储,这些更改将被持久化以上载。我认为只有在迁移之后才会出现这种错误是有道理的,因为这是第一次将更改发送到服务器。您需要以较小的块同步,以保持增量较小。我没有使用unsyncedChangesSize的例子,但我希望它简单明了?谢谢,@smarx。在将记录存储到数据存储之前,我现在以较小的时间间隔进行同步。我在每次同步时都检查了unsyncedChangesSize,它从未超过200k。有趣的是,如果我已经链接到Dropbox帐户,则记录将同步到服务器而不会出现错误。如果在添加记录后连接到Dropbox,则会再次出现上述错误。数据存储迁移似乎忽略了同步间隔,并试图一次将其全部推送到服务器。这有意义吗?