我的要求是通过Scribe在平面文件(可以是制表符分隔符或csv)和CRM 2016之间建立集成。
由于许多限制,平面文件将是一个完整的摘录,而不仅仅是delta。因此,我们需要隔离delta并将其插入到在线CRM 2016中。这一切都使用了抄写员。这些是我能想到的方法:
使用平面文件作为源,使用目标变量/ dblookups获取CRM中每个字段的值。然后将此值与源字段的值进行比较,并设置仅在字段已更改时更新记录的步骤。 [这意味着我们必须处理所有记录]。这将是每晚运行一次的定时集成。
我们可以使用scribe查询发布者从源平面文件中获取所有未处理的行;每行作为xml消息并使用模式文件作为源,每个msg将被处理。从这里开始,它类似于(1)。作为dts的最后一步,将更新源平面文件,并在记录中设置一个值以显示其已处理。 [再次处理所有记录,这将比(1)我认为快一点]
有2个平面文件实例。在同一文件夹中说OldFile和NewFile。我们可以使用这些创建2个txt数据对象。在scribe发布者中,这两个文件的行为就像这些数据对象中的虚拟表一样。从这里我们可以运行一个sql查询来返回delta。 (不确定我们是否可以在这里使用加入)。然后可以类似于(2)处理这些增量记录,除了这次我们已经有delta,因此要处理的记录要少得多。因此,我们可以直接插入/更新(甚至进行另一个级别的比较,这次使用CRM字段),然后插入/更新。
你们认为什么会更好?我也愿意接受新的想法。