0

当我在 Xamarin Android 播放器中运行该应用程序时,它工作得很好,但是当我在设备上运行时,我收到以下错误:

错误 1 ​​(sqlite): CREATE TABLE main."custScanned" (z_rv INTEGER NULL UNIQUE REFERENCES "z$rv$1483152329"(z_rv) DEFERRABLE INITIALLY DEFERRED, "Id" integer primary key NOT NULL, "custNumber" text COLLATE NOCASE, "scannedDate " text COLLATE NOCASE ): 表 "custScanned" 已经存在 jni/../../../../..//build/android/core/jni/../../../../ src/core/sg/sg_sqlite.c:304 jni/../../../../..//build/android/core/jni/../../../../src /core/client/zum_sync.c:558 jni/../../../../..//build/android/core/jni/../../../../src/核心/客户端/zum_sync.c:2219 jni/../../../../..//build/android/core/jni/../../../../src/core /client/zum_sync.c:3889 jni/../../../../..//build/android/core/jni/../../../../src/core/客户端/zum_sync.c:4382 jni/../../../../..//build/android/core/jni/../../。./../src/core/client/zum_sync.c:7703 jni/../../../../..//build/android/core/jni/../../.. /../src/core/client/zum_sync.c:7763 jni/../../../../..//build/android/core/jni/../../../ ../src/core/client/zum_sync.c:8871 jni/../../../../..//build/android/core/jni/../../../. ./src/core/client/zum_sync.c:9227

当我查看设备上的 LogCat 时,它说表custScanned已经存在。我认为这就是同步的重点:将数据发送到服务器并将数据从服务器添加到设备上的现有表中。

4

2 回答 2

2

我在 Zumero 支持的帮助下解决了这个问题。我在启动时创建表,这就是发生错误的原因。

于 2016-01-28T16:30:42.267 回答
1

虽然 Zumero确实希望将您的客户端表与其服务器端对应项同步,但它希望在初始同步时自行创建这些表。所以(正如你所发现的)你需要从一个空的 SQLite 数据库开始,或者从一个不存在的数据库开始——Zumero 会在初始同步时为你创建它。大概Android播放器没有预先存在的SQLite数据库,或者至少没有这个表。

Zumero 需要创建管家表和其他数据,并获得恰到好处的客户端模式,以便与服务器跟踪历史记录、合并更改等。如果没有这些信息,就无法协调现有数据库的结构和内容与服务器端数据。

于 2016-01-28T16:42:00.420 回答