资源描述
佳易科技,助您挖掘信息技术潜力!
用友时空与用友U8
数据交换需求及解决方案
一、数据交换需求
1、需要交换数据的软件系统:
用友时空、用友U8
2、需要同步的基础资料:
(1)、商品信息:从用友时空同步到用友U8
(2)、往来单位:从用友时空同步到用友U8
(3)、部门及职员:从用友时空同步到用友U8
3、需要同步的单据信息:
(1)、用友时空销售出库单 转换为 U8应收开票单
(2)、用友时空销售结算单 转换为 U8收款单
(3)、用友时空采购入库单 转换为 U8应付开票单
(4)、用友时空采购结算单 转换为 U8付款单
二、解决方案
1、佳易数据交换接口简介
本软件主要针对各SQL数据库之间的数据路由和收发,协助一个数据库把本地的数据发送到各目的地,并从各远程数据库获得需要的数据。
对于2个异构数据库,进行数据交换时,一方面要设立‘对应规则’,一方面要设立‘转换规则’,然后才可实现2个异构数据库的数据自动交换。
(1) 对应规则:2个数据库的若干数据表,其表结构的对应关系设定。例如,A数据库的01表对应B数据库的02表,它们的字段对应关系的建立等。
(2) 转换规则:A数据库的数据,发送到B数据库后,转换成哪些类型的数据,这些转换关系的建立等。
(3) 差异交换:对于已经完成交换的,进行标识,下来的交换时只交换增量部分。
(4) 数据转换过程:采集—压缩—传输—解压—更新。实现数据库之间数据的复制,可以是差异复制也可以是整体复制。
模块组成和工作原理:
客户端和中间层服务。
客户端为数据流向端,服务端为数据起源端,即提供数据的一方通过中间层服务等待客户端发起数据查询,一旦客户端发来查询语句,中间层以查询语句代客户端查询数据,并把数据以OLEVariant包的形式传递给客户端;客户端得到数据包后,在本地解包成数据集,并启动数据库服务器事务,把数据插入本地表,完成后提交事务。
数据交换模块的优势:
(1)、三层结构(由客户端、中间层、Sql Server 三个部件一起构成)
数据的查询由中间层完成,而不是由客户端来进行,因此适应于两个要传输数据的数据库分布在两个有一定距离的空间上的情况,此种情况下可以杜绝死锁的发生。
(2)、本地的数据插入与网络无关
由需要数据的一端主动发起查询,获得数据之后就与网络无关,在本地插入是否成功不受网络的影响。不像一些软件提供数据的一方主动向需要数据的一端发送数据,然后由需要数据的一端在插入成功之后要向提供数据的一方发送一个成功标志,此种情况下如果已经插入成功但是网络突然断开之后,提供数据的一端收不到成功标志,会在下次重复插入相同的数据。
(3)、不同系统之间的单据流程对接
数据交换后,可按设定的表和字段对应,实现数据的传递和转换,从而实现了一个类型的单据的数据转变成另一类型的单据的数据,实现单据流程对接。
数据同步实施要点
分为两种情况,一种是差异复制数据, 一种是完全复制数据(即不管一个表是否已经有相同的数据,先把这个表清空再完全插入数据,适应于表的数据量小的情况)
如何部署中间层
(1)、运行数据传输模块,如下图(其中内容为数据交换日志,左边为客户端,右边为服务端):
(2)、设置中间层连接SqlServer的数据库连接参数,如下图,这样中间层就开始工作了:
通常设置为链接本地数据库。
如何部署客户端
(1) 创建设置表,附《数据交换模块客户端设置语法.sql》文件
(2) 启动数据交换模块
(3) 设置需要数据的数据库的连接设置,如下图:
通常设置链接本地数据库。
(4) 设置更新资料的周期,如下图
(5) 设置中间层的连接参数,如下图:
通常服务端域名 设置指向 远程服务器端。
(6) 设置差异更新的各表的语法,如下图,其中:
“本地表名”表示本数据库需要数据的表名;
“远程表名”表示远程需要数据的表名,如果采用差异更新表示远程存储差异数据的表的表名,如果用完全更新表示存储数据的原始表的表名;
“远程货位名称”对应中间层连接参数中的“远程货位名称”,也就是说一个表可以从多个货位那里下载数据。
“本地表列设置”表示本地该表需要下载数据的列的列名,中间用“,”隔开;
“远程表列设置”表示远程提供数据的表的对应列的列名,中间用“,”隔开;
“本地表主键集合”表示本地表的主键列,中间用“,”号隔开
“远程表主键集合”表示远程提供数据的表的主键列,中间用“,”号隔开;
“远程查询其它条件”就是此查询的条件,其语法与Sql语法相同,只是不用从“where”开始写,而是以and开头;
“数据已下载后需要更新的列”表示的是如果本地有相同键值的一条数据,那么下次更新的时候那些列需要更新就写进去,中间用“,”号隔开,不需要更新的列不要写进去,这里的值是“本地表列设置”的子集。
2、用友时空 与 用友U8数据交换流程
3、实现难点
基础资料的同步是难点:一方面,用友U8的基础资料的编码生成规则必须遵守,同时,必须实现差异更新。
单据数据转换方面,主要是跟踪清楚用友U8各单据类型的数据结构及单据最大编号产生规则。
4、实现步骤
跟踪U8数据结构及相关编码的生成规则。
部署客户端和服务端。
定义基础资料表的对应关系。
定义单据表的对应关系。
定义数据转换规则。
测试数据的交换是否成功。
7
展开阅读全文