CMDBuild Forum

Campi Reference in Wizard Connector

Buongiorno.

Sto utilizzando il Wizard Connector per alimentare il database di Cmdbuild con una sorgente dati esterna.

Ho 2 tabelle che sono collegate tra di loro da un campo di tipo Reference in Cmdbuild e nella tabella della sorgente esterna in questo campo di collegamento metto il codice della tabella referenziata (con lo stesso meccanismo usato per importare i dati nella sezione "Importa Dati da CSV").

Solo che nel Wizard Connector il campo non viene sincronizzato ed il job mi dà l'errore:

RROR 2019-01-25 10:23:00 [org.cmdbuild.services.sync.logging] error creating entry

java.lang.RuntimeException: Conversion error

at org.cmdbuild.logic.taskmanager.task.connector.DefaultAttributeValueAdapter$1.visit(DefaultAttributeValueAdapter.java:104)

at org.cmdbuild.dao.entrytype.attributetype.ReferenceAttributeType.accept(ReferenceAttributeType.java:48)

at org.cmdbuild.logic.taskmanager.task.connector.DefaultAttributeValueAdapter$1.adapt(DefaultAttributeValueAdapter.java:72)

at org.cmdbuild.logic.taskmanager.task.connector.DefaultAttributeValueAdapter.toInternal(DefaultAttributeValueAdapter.java:129)

at org.cmdbuild.services.sync.store.internal.InternalStore$Create.visit(InternalStore.java:163)

at org.cmdbuild.services.sync.store.ClassType.accept(ClassType.java:66)

at org.cmdbuild.services.sync.store.internal.InternalStore$Create.execute(InternalStore.java:153)

at org.cmdbuild.services.sync.store.internal.InternalStore$Create.execute(InternalStore.java:1)

at org.cmdbuild.services.sync.store.internal.InternalStore.execute(InternalStore.java:359)

at org.cmdbuild.services.sync.store.internal.InternalStore.create(InternalStore.java:319)

at org.cmdbuild.services.sync.store.ForwardingStore.create(ForwardingStore.java:18)

at org.cmdbuild.services.sync.store.Stores$LoggingStore.create(Stores.java:24)

at org.cmdbuild.services.sync.store.ForwardingStore.create(ForwardingStore.java:18)

at org.cmdbuild.logic.taskmanager.task.connector.PermissionBasedStore.create(PermissionBasedStore.java:40)

at org.cmdbuild.services.sync.store.StoreSynchronizer.doSync(StoreSynchronizer.java:131)

at org.cmdbuild.services.sync.store.StoreSynchronizer.sync(StoreSynchronizer.java:88)

at org.cmdbuild.logic.taskmanager.task.connector.ConnectorTaskCommandWrapper.execute(ConnectorTaskCommandWrapper.java:87)

at org.cmdbuild.scheduler.command.ForwardingCommand.execute(ForwardingCommand.java:18)

at org.cmdbuild.scheduler.command.Commands$ComposeOnExeption.execute(Commands.java:73)

at org.cmdbuild.scheduler.command.BuildableCommandBasedJob.execute(BuildableCommandBasedJob.java:72)

at org.cmdbuild.scheduler.ForwardingJob.execute(ForwardingJob.java:24)

at org.cmdbuild.logic.taskmanager.scheduler.DefaultSchedulerFacade$JobWithCallback.execute(DefaultSchedulerFacade.java:65)

at org.cmdbuild.scheduler.ForwardingJob.execute(ForwardingJob.java:24)

at org.cmdbuild.logic.taskmanager.scheduler.DefaultSchedulerFacade$JobWithCallback.execute(DefaultSchedulerFacade.java:65)

at org.cmdbuild.logic.taskmanager.scheduler.DefaultSchedulerFacade$SuppressedExceptionJob.execute(DefaultSchedulerFacade.java:38)

at org.cmdbuild.scheduler.quartz.QuartzJob.execute(QuartzJob.java:101)

at org.quartz.core.JobRunShell.run(JobRunShell.java:202)

at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)

 

Riporto un esempio delle 2 tabelle.

Tabella DOMINIO con le colonne Code e Description.

Tabella VAL_DOMINIO con le colonne Code, Description e DOM_CD che in CMDBUILD è di tipo Reference mentre nell'altro database è di tipo String e riporta il Code del Dominio referenziato.

 

Come posso sincronizzare queste 2 tabelle?

Grazie.