現(xiàn)需要一個(gè)同步程序,將oracle視圖中的數(shù)據(jù)同步到sql server中。
oracle視圖定義如下:
人員信息視圖:視圖名稱(MJDJ_USER)
SNO (學(xué)號)
NAME (姓名)
SFMC (身份名稱)
CARDID (物理卡號)
BMMC (部門名稱)
KPZT (卡片狀態(tài))
KHRQ (開戶日期)
測試數(shù)據(jù)導(dǎo)出腳本如下:
附件
--------------------------------------------------------------------------------------------------------------------------------------
發(fā)生事件視圖:視圖名稱(MJDJ_EFFECT)
SNO (學(xué)號)
TRANAME (發(fā)生事件名稱) 持卡人開戶、換卡、掛失、解掛、凍結(jié)、解凍、持卡人銷戶
FSSJ (事件發(fā)生時(shí)間 ymd-hms)
測試數(shù)據(jù)導(dǎo)出腳本如下:
附件
-----------------------------------------------腳本中有學(xué)工號為空或者多次開戶記錄是正常,為測試操作--------------------------------
sql server表結(jié)構(gòu)如下:|
有關(guān)卡和人員信息的數(shù)據(jù)保存在dbo.Card及dbo.CareHolder表中。
dbo.Card主要字段:
AccountID 賬戶ID,默認(rèn)為1
TimeStamp 時(shí)間戳,添加卡的時(shí)間
Deleted 0代表門禁系統(tǒng)中存在的卡,1代表此卡已在門禁軟件中刪除
CareNumber 卡號
CardHolderID 持卡人序列號。門禁軟件添加卡時(shí)自動生成的一個(gè)ID號。若在數(shù)據(jù)庫中操作,可人為定義一個(gè)ID號,不重復(fù)。此處CardHolderID與dbo.CardHode表中RecordID一致
AccessLevelID 門禁級別ID號。0代表此卡無門禁級別,1、2……等數(shù)字代表給此卡分配了門禁級別。若在數(shù)據(jù)庫中操作,可統(tǒng)一將AccessLevelID設(shè)為0,具體的門禁級別后期在門禁軟件中設(shè)置。
ActivationDate 卡片生效的時(shí)間。若在第一次在數(shù)據(jù)庫中操作,可定義為1900-01-01 00:00:00.000。具體的生效時(shí)間后期在門禁軟件中設(shè)置。
ExpirationDate 卡片失效的時(shí)間。若在第一次在數(shù)據(jù)庫中操作,可定義為1900-01-01 00:00:00.000。具體的失效時(shí)間后期在門禁軟件中設(shè)置。
CardStatus 1代表“活動”狀態(tài),2代表“不活動”狀態(tài)。若第一次在數(shù)據(jù)中操作,可將狀態(tài)設(shè)置為“2”。具體是否“活動”后期在門禁軟件中設(shè)置。
dbo.CardHoder主要字段:
RecordID 與dbo.Card表中CardHolderID一致
AccountID 賬戶ID,默認(rèn)為1
TimeStamp 時(shí)間戳,添加持卡人的時(shí)間
Deleted 0代表門禁系統(tǒng)中存在的卡,1代表此卡已在門禁軟件中刪除
FirstName 姓,建議為完整的姓名
LastName 名,建議用作持卡人部門