一致化外部数据源管理

为了解决中心系统A如何引用B、C、D等多个系统中特有的人员属性数据问题,本文提出了建立通用外部数据源管理模块的方法。通过全局ID(如emp_id)连接各个系统,定义全局数据源并设置服务器路径、账号密码。数据源类型包括Oracle、SQLServer、MySQL、WebService等。使用工厂模式设计,实现IExtDatasource接口,提供数据验证和获取功能,确保一致地访问和使用外部数据。
摘要由CSDN通过智能技术生成

考虑这样一个背景:A系统有一张人事表,B系统也有一张人事表,且B中有一些A中没有的人员属性。如果A需要引用这些数据,该如何处理呢?

实际上,通过View, WebService, 数据同步,数据直接访问,都可以达到这个目的。但是如果A作为一个中心系统,还需要访问C, D, E…等系统所特有的数据,该如何处理呢?比较好的办法是做一个通用的外部数据源管理模块,通过简单的设置和公共方法,达到方便一致取用这些数据的目的。

         

图一 SystemA可以通过emp_id关联到其他系统的人事数据

 

实现方式如下:

1.  首先做这个数据串联有个基础,必须存在一个Global ID,如上图的emp_id等。

2.  定义全局的数据源,设定服务器路径,账号密码等。

数据源常用的类型有Oracle, SQLServer, Mysql, WebService, 其它的数据库类型可以使用DSN。

3.  通过引用Global ID作为Sql中的参数来定义一系列扩展属性。如下

 

数据源:Oracle ERP

扩展属性:

         职位:    select position from user_list where id=’@global_id’

         入职日:sele

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值