现需要一个同步程序,将oracle视图中的数据同步到sql server中。
oracle视图定义如下:
人员信息视图:视图名称(MJDJ_USER)
SNO (学号)
NAME (姓名)
SFMC (身份名称)
CARDID (物理卡号)
BMMC (部门名称)
KPZT (卡片状态)
KHRQ (开户日期)
测试数据导出脚本如下:
附件
--------------------------------------------------------------------------------------------------------------------------------------
发生事件视图:视图名称(MJDJ_EFFECT)
SNO (学号)
TRANAME (发生事件名称) 持卡人开户、换卡、挂失、解挂、冻结、解冻、持卡人销户
FSSJ (事件发生时间 ymd-hms)
测试数据导出脚本如下:
附件
-----------------------------------------------脚本中有学工号为空或者多次开户记录是正常,为测试操作--------------------------------
sql server表结构如下:|
有关卡和人员信息的数据保存在dbo.Card及dbo.CareHolder表中。
dbo.Card主要字段:
AccountID 账户ID,默认为1
TimeStamp 时间戳,添加卡的时间
Deleted 0代表门禁系统中存在的卡,1代表此卡已在门禁软件中删除
CareNumber 卡号
CardHolderID 持卡人序列号。门禁软件添加卡时自动生成的一个ID号。若在数据库中操作,可人为定义一个ID号,不重复。此处CardHolderID与dbo.CardHode表中RecordID一致
AccessLevelID 门禁级别ID号。0代表此卡无门禁级别,1、2……等数字代表给此卡分配了门禁级别。若在数据库中操作,可统一将AccessLevelID设为0,具体的门禁级别后期在门禁软件中设置。
ActivationDate 卡片生效的时间。若在第一次在数据库中操作,可定义为1900-01-01 00:00:00.000。具体的生效时间后期在门禁软件中设置。
ExpirationDate 卡片失效的时间。若在第一次在数据库中操作,可定义为1900-01-01 00:00:00.000。具体的失效时间后期在门禁软件中设置。
CardStatus 1代表“活动”状态,2代表“不活动”状态。若第一次在数据中操作,可将状态设置为“2”。具体是否“活动”后期在门禁软件中设置。
dbo.CardHoder主要字段:
RecordID 与dbo.Card表中CardHolderID一致
AccountID 账户ID,默认为1
TimeStamp 时间戳,添加持卡人的时间
Deleted 0代表门禁系统中存在的卡,1代表此卡已在门禁软件中删除
FirstName 姓,建议为完整的姓名
LastName 名,建议用作持卡人部门