Solucionado Error en RL
|
31-10-2017, 01:38 PM
(Este mensaje fue modificado por última vez en: 31-10-2017 01:41 PM por jesus_gesdemo.)
Mensaje: #1
|
|||
|
|||
Error en RL
Hola, tenemos una incidencia en un cliente que no tenemos muy claro por que esta pasando. Voy a intentar explicarme.
Para actualizar la base de datos de los dispositivos, cada vez que hay un cambio, en lugar de provisionar datos, lo hacemos a través de un script que ejecuta el propio dispositivo; el caso es que en uno de estos scripts, hemos creado una tabla y generado una relación entre una tabla que ya existía y esta nueva tabla. Por ejemplo, hemos creado la tabla GEN_CRMSEXO: Código XOne: sSQL="CREATE TABLE GEN_CRMSEXO ( ID integer PRIMARY KEY AUTOINCREMENT, ROWID varchar(50) NULL , ITX_TERMINAL integer NULL , DESCRIPCION varchar(50) NULL , MK_BAJA integer NULL , CODIGODATAMINING varchar(20) NULL );" Código XOne: sSQL="ALTER TABLE GEN_PROPIETARIOS add IDEDAD INTEGER NULL " Y por último, en el script también metemos la relación en la RL: Código XOne: sSQL="INSERT INTO RL (T1,F1,T2,F2,T) VALUES ('GEN_PROPIETARIOS','IDEDAD','GEN_CRMEDAD','ID','L')" el caso es que ahora cuando desde la Tablet se actualiza el campo IDSEXO no llega bien al servidor, da un error y la IQUEUE trae el campo MAP a null. En la errorlog se ve también este error: Código XOne: [FROM 4]:Mapping Error for field IDSEXO En el dispositivo el log muestra este error: Código XOne: 10-31 13:03:49.617 V/XOneReplicator( 7203): *** RPL GET ROWID: Table Name: gen_propietarios Por que puede dar el error? En el servidor la RL esta actualizada correctamente y los campos y tablas existen. Además, si provisionamos datos al dispositivo si que funciona correctamente. Un saludo! Hola, me auto contesto, parece ser que el replicador cliente cachea las relaciones en la rl, por lo que había que reiniciar el dispositivo antes. Gracias!!! |
|||
31-10-2017, 03:33 PM
(Este mensaje fue modificado por última vez en: 31-10-2017 03:33 PM por Ruben.)
Mensaje: #2
|
|||
|
|||
RE: Error en RL
Hola, tu te has respondido correctamente, el RL se cachea, para que el sistema de réplica sea más rápido.
La forma que tiene el frame para reiniciar el RL, es enviando una nueva base de datos. Otra alternativa es reiniciar el dispositivo. Por ello, para enviar cambios de base de datos que lleven cambios de RL, es mejor provisionar, y para ello te aconsejo un provisionar en modo seguro(tu sistema lo tiene que tener montado y disponer de una versión de XOneLive y Framework actual). Si solo vas a crear nuevos campos o tablas, que no incluyan una relación en el RL, no es necesario provisionar. |
|||
« Tema previo | Tema siguiente »
|
Usuario(s) navegando en este tema: 1 invitado(s)