日期:2014-05-17  浏览次数:20525 次

求助:根据第三方软件同步自己的数据库方案
客户要求我们获取金蝶K3系统中数据,导入到我们自己系统中来,要求最好实时的。 2台金蝶K3数据库服务器 SQL2005的, 一台我们自己的服务器 SQL2005, 3台机器在同一个机房。
比如K3销售出库单审核后自动生成我们自己库的发货跟踪单,不提供金蝶K3的二开人员,直接操作数据库,目前我的想法是通过触发器来执行,但是担心太不稳定。求教
------解决方案--------------------
暂时没有做什么案例,所以也给不了什么你看,你到网上去找找吧,这方面的资料还是很多的。你这种应用不算复杂,所以配置和使用也不会太难
------解决方案--------------------
你这个叫实时数据迁移,很复杂的。

首先需要做好字段映射,确定你们系统需要的金蝶库内表和字段,以及映射到你们系统内的表和字段关系。

然后需要定时把他们的表实时导入到你们的表里,这里有几种方法:
1.根据映射,直接读取他们的字段,按你们需要的格式插入你们的表。
    这种方案写程序可以完成,前提是确定他们表的增量列,比如修改时间,或者时间戳,然后你们写程序以这个增量列定时对原库进行增量读取,然后在程序内转成你们需要的datatable,再插入你们的库。

2.通过发布订阅或日志变更捕获原样把他们的表定时导入你们的库,再用触发器或其它手段插入你们的表。
    这种方案受制于发布订阅和日志变更捕获的时间间隔,不好定的太短,但胜在没有程度开发量,如果你们没有写程序的好手,可以用这种方法。

3.分布式事务直接从原库根据触发器更新你们的表
    开发最方便,但由于SQL对分布式事务的完成效率不高,可能会有锁表或死锁的问题产生。如果你们的库和金蝶的库在同一台服务器上可以用这个方法。
------解决方案--------------------
引用:
Quote: 引用:

你这个可能用发布订阅来做比较适合,前提是你可以修改金蝶的东西

金蝶的数据库我是可以向里面加东西,但是程序我没有办法改。


这个通过数据库复制技术来实现的,如果是内网,速度很快,应该问题不大,我觉得你先试试看,这个数据库复制也谈不上实时的。
------解决方案--------------------
不建议搞复制,很多副作用,特别是金碟要升级时会出现
建议定期查询监测
以触发器去处理,如果因为网络或其他原因,将导致金碟运行异常
------解决方案--------------------
还是不要写金蝶的数据库吧
直接通过程序自动定时把金蝶的记录添加到自己的系统。。。。