基于VB開發(fā)的sybase庫內(nèi)外網(wǎng)數(shù)據(jù)同步的方法
【專利摘要】本發(fā)明公開了基于VB開發(fā)的sybase庫內(nèi)外網(wǎng)數(shù)據(jù)同步的方法,所述方法通過邏輯判斷生成需要同步到數(shù)據(jù)庫表的批處理腳本,所述腳本的核心內(nèi)容是sybase的bcp導(dǎo)入導(dǎo)出命令;通過執(zhí)行所述腳本,配置定時計劃任務(wù),進行數(shù)據(jù)同步。本發(fā)明通過配置定時任務(wù)實現(xiàn)發(fā)票數(shù)據(jù)從內(nèi)網(wǎng)自動同步到外網(wǎng),從而極大的提高了工作效率。
【專利說明】
基于VB開發(fā)的sybase庫內(nèi)外網(wǎng)數(shù)據(jù)同步的方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及數(shù)據(jù)庫技術(shù)領(lǐng)域,具體涉及一種基于VB開發(fā)的sybase庫內(nèi)外網(wǎng)數(shù)據(jù)同步的方法,主要用于把sybase庫內(nèi)網(wǎng)數(shù)據(jù)同步到外網(wǎng)中。
【背景技術(shù)】
[0002]地稅內(nèi)網(wǎng)通過布獎系統(tǒng),生成有獎定額發(fā)票數(shù)據(jù)信息,寫入內(nèi)網(wǎng)sybase數(shù)據(jù)庫,生成印制計劃,到印刷廠印刷。然后需要把這些發(fā)票信息(代碼、號碼、密碼)同步到外網(wǎng)后,納稅人才能通過互聯(lián)網(wǎng)對這些發(fā)票進行真?zhèn)尾樵儭?br>[0003]考慮到稅務(wù)局方能夠提供一臺機器同時連接內(nèi)網(wǎng)和外網(wǎng),針對大數(shù)據(jù)量表效率降低,不能對迀移表名、字段名沒規(guī)律的表進行建表,無法迀移等問題,所以需要一個能定時執(zhí)行的方法,來實現(xiàn)發(fā)票信息數(shù)據(jù)(sybase數(shù)據(jù)庫發(fā)票信息表)由內(nèi)網(wǎng)自動同步到外網(wǎng)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題是:針對以上問題,本發(fā)明提供基于VB開發(fā)的sybase庫內(nèi)外網(wǎng)數(shù)據(jù)同步的方法,主要用于把sybase庫內(nèi)網(wǎng)數(shù)據(jù)同步到外網(wǎng)中。
[0005]本發(fā)明所采用的技術(shù)方案為:
基于VB開發(fā)的sybase庫內(nèi)外網(wǎng)數(shù)據(jù)同步的方法,所述方法通過邏輯判斷,生成需要同步到數(shù)據(jù)庫表的批處理腳本,所述腳本的核心內(nèi)容是sybase的bcp導(dǎo)入導(dǎo)出命令;通過執(zhí)行所述腳本,配置定時計劃任務(wù),進行數(shù)據(jù)同步。
[0006]所述方法操作步驟如下:
1)配置連接內(nèi)外網(wǎng)數(shù)據(jù)源驅(qū)動連接,判斷內(nèi)外網(wǎng)數(shù)據(jù)庫連通情況并寫入日志表;
2)讀取內(nèi)網(wǎng)發(fā)票表集合,然后判斷外網(wǎng)是否存在詞表,如果不存在,則根據(jù)表名、字段名外網(wǎng)創(chuàng)建發(fā)票表;
3)根據(jù)sybase庫bcp命令生成數(shù)據(jù)內(nèi)網(wǎng)導(dǎo)出、外網(wǎng)導(dǎo)入批處理文件;
4)調(diào)取執(zhí)行所生成的批處理文件執(zhí)行數(shù)據(jù)導(dǎo)入。
[0007]所述方法實現(xiàn)流程如下:
1)獲取內(nèi)外網(wǎng)數(shù)據(jù)庫(M)C連接源;
2)判斷內(nèi)外網(wǎng)數(shù)據(jù)庫(M)C是否都連通;
3)如果未都連通,記錄錯誤日志,流程結(jié)束;
4)如果都連通,讀取內(nèi)網(wǎng)數(shù)據(jù)表名和外網(wǎng)數(shù)據(jù)表名;
5)判斷內(nèi)、外網(wǎng)數(shù)據(jù)表名是否一致;
6)如內(nèi)、外網(wǎng)數(shù)據(jù)表名不一致,創(chuàng)建外網(wǎng)不存在的數(shù)據(jù)表,生成導(dǎo)出、導(dǎo)入腳本;
7)如內(nèi)、外網(wǎng)數(shù)據(jù)表名一致,則生成導(dǎo)出、導(dǎo)入腳本;
8)執(zhí)行生成的腳本;
9)刪除導(dǎo)出數(shù)據(jù)文件;
10)流程結(jié)束。
[0008]所述流程通過VB開發(fā)為程序,vb程序很容易實現(xiàn)這些上述技術(shù)問題,生成exe文件的小程序。
[0009]所述程序通過配置計劃任務(wù)進行定時調(diào)度,實現(xiàn)數(shù)據(jù)自動同步。
[0010]所述方法通過建立并檢查日志表,查看同步是否正常執(zhí)行。
[0011]本發(fā)明的有益效果為:
本發(fā)明通過配置定時任務(wù)實現(xiàn)發(fā)票數(shù)據(jù)從內(nèi)網(wǎng)自動同步到外網(wǎng),從而極大的提高了工作效率。
【附圖說明】
[0012]圖1為本發(fā)明方法涉及的日志表;
圖2為本發(fā)明方法流程圖。
【具體實施方式】
[0013]下面結(jié)合說明書附圖,通過【具體實施方式】對本發(fā)明進一步說明:
實施例1:
基于VB開發(fā)的sybase庫內(nèi)外網(wǎng)數(shù)據(jù)同步的方法,所述方法通過邏輯判斷,生成需要同步到數(shù)據(jù)庫表的批處理腳本,所述腳本的核心內(nèi)容是sybase的bcp導(dǎo)入導(dǎo)出命令;通過執(zhí)行所述腳本,配置定時計劃任務(wù),進行數(shù)據(jù)同步。
[0014]實施例2:
在實施例1的基礎(chǔ)上,本實施例所述方法操作步驟如下:
1)配置連接內(nèi)外網(wǎng)數(shù)據(jù)源驅(qū)動連接,判斷內(nèi)外網(wǎng)數(shù)據(jù)庫連通情況并寫入日志表;
2)讀取內(nèi)網(wǎng)發(fā)票表集合,然后判斷外網(wǎng)是否存在詞表,如果不存在,則根據(jù)表名、字段名外網(wǎng)創(chuàng)建發(fā)票表;
3)根據(jù)sybase庫bcp命令生成數(shù)據(jù)內(nèi)網(wǎng)導(dǎo)出、外網(wǎng)導(dǎo)入批處理文件;
4)調(diào)取執(zhí)行所生成的批處理文件執(zhí)行數(shù)據(jù)導(dǎo)入。
[0015]實施例3:
如圖2所示,在實施例2的基礎(chǔ)上,本實施例所述方法實現(xiàn)流程如下:
1)獲取內(nèi)外網(wǎng)數(shù)據(jù)庫(M)C連接源;
2)判斷內(nèi)外網(wǎng)數(shù)據(jù)庫(M)C是否都連通;
3)如果未都連通,記錄錯誤日志,流程結(jié)束;
4)如果都連通,讀取內(nèi)網(wǎng)數(shù)據(jù)表名和外網(wǎng)數(shù)據(jù)表名;
5)判斷內(nèi)、外網(wǎng)數(shù)據(jù)表名是否一致;
6)如內(nèi)、外網(wǎng)數(shù)據(jù)表名不一致,創(chuàng)建外網(wǎng)不存在的數(shù)據(jù)表,然后生成導(dǎo)出、導(dǎo)入腳本;
7)如內(nèi)、外網(wǎng)數(shù)據(jù)表名一致,則直接生成導(dǎo)出、導(dǎo)入腳本;
8)執(zhí)行生成的腳本;
9)刪除導(dǎo)出數(shù)據(jù)文件;
10)流程結(jié)束。
[0016]其中數(shù)據(jù)表導(dǎo)入、導(dǎo)出腳本代碼如下:
bcp czdj..Τ—232040603010 out e:\bak\temp\232040603010.txt -Usa -Psybase-Snwdbserver _c
isql -Usa -Psybase -Swwcxserver _i e:\bak\temp\232040603010.sqlbcp wwcx..Τ—232040603010 in e:\bak\temp\232040601030.txt -Usa -Psybase-Swwcxserver _c
del e:\bak\temp\232040603010.txt實施例4:
在實施例3的基礎(chǔ)上,本實施例所述流程通過VB開發(fā)為程序,vb程序很容易實現(xiàn)這些上述技術(shù)問題,生成exe文件的小程序。
[0017]實施例5:
在實施例4的基礎(chǔ)上,本實施例所述程序通過配置計劃任務(wù)進行定時調(diào)度,實現(xiàn)數(shù)據(jù)自動同步。
[0018]實施例6:
如圖1所示,在任一實施例3、4或5的基礎(chǔ)上,本實施例所述方法通過建立并檢查日志表,查看同步是否正常執(zhí)行。
[0019]以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應(yīng)由權(quán)利要求限定。
【主權(quán)項】
1.基于VB開發(fā)的sybase庫內(nèi)外網(wǎng)數(shù)據(jù)同步的方法,其特征在于:所述方法通過邏輯判斷,生成需要同步到數(shù)據(jù)庫表的批處理腳本,所述腳本的核心內(nèi)容是Sybase的bcp導(dǎo)入導(dǎo)出命令;通過執(zhí)行所述腳本,配置定時計劃任務(wù),進行數(shù)據(jù)同步。2.根據(jù)權(quán)利要求1所述的基于VB開發(fā)的sybase庫內(nèi)外網(wǎng)數(shù)據(jù)同步的方法,其特征在于,所述方法操作步驟如下: 1)配置連接內(nèi)外網(wǎng)數(shù)據(jù)源驅(qū)動連接,判斷內(nèi)外網(wǎng)數(shù)據(jù)庫連通情況并寫入日志表; 2)讀取內(nèi)網(wǎng)發(fā)票表集合,然后判斷外網(wǎng)是否存在詞表,如果不存在,則根據(jù)表名、字段名外網(wǎng)創(chuàng)建發(fā)票表; 3 )根據(jù)sybase庫bcp命令生成數(shù)據(jù)內(nèi)網(wǎng)導(dǎo)出、外網(wǎng)導(dǎo)入批處理文件; 4)調(diào)取執(zhí)行所生成的批處理文件執(zhí)行數(shù)據(jù)導(dǎo)入。3.根據(jù)權(quán)利要求2所述的基于VB開發(fā)的sybase庫內(nèi)外網(wǎng)數(shù)據(jù)同步的方法,其特征在于,所述方法實現(xiàn)流程如下: 1)獲取內(nèi)外網(wǎng)數(shù)據(jù)庫(M)C連接源; 2)判斷內(nèi)外網(wǎng)數(shù)據(jù)庫(M)C是否都連通; 3)如果未都連通,記錄錯誤日志,流程結(jié)束; 4)如果都連通,讀取內(nèi)網(wǎng)數(shù)據(jù)表名和外網(wǎng)數(shù)據(jù)表名; 5)判斷內(nèi)、外網(wǎng)數(shù)據(jù)表名是否一致; 6)如內(nèi)、外網(wǎng)數(shù)據(jù)表名不一致,創(chuàng)建外網(wǎng)不存在的數(shù)據(jù)表,生成導(dǎo)出、導(dǎo)入腳本; 7)如內(nèi)、外網(wǎng)數(shù)據(jù)表名一致,則生成導(dǎo)出、導(dǎo)入腳本; 8)執(zhí)行生成的腳本; 9)刪除導(dǎo)出數(shù)據(jù)文件; 10)流程結(jié)束。4.根據(jù)權(quán)利要求3所述的基于VB開發(fā)的sybase庫內(nèi)外網(wǎng)數(shù)據(jù)同步的方法,其特征在于:所述流程通過VB開發(fā)為程序。5.根據(jù)權(quán)利要求4所述的基于VB開發(fā)的sybase庫內(nèi)外網(wǎng)數(shù)據(jù)同步的方法,其特征在于:所述程序通過配置計劃任務(wù)進行定時調(diào)度,實現(xiàn)數(shù)據(jù)自動同步。6.根據(jù)權(quán)利要求3、4或5任一所述的基于VB開發(fā)的sybase庫內(nèi)外網(wǎng)數(shù)據(jù)同步的方法,其特征在于:所述方法通過建立并檢查日志表,查看同步是否正常執(zhí)行。
【文檔編號】G06F17/30GK106095880SQ201610396201
【公開日】2016年11月9日
【申請日】2016年6月7日 公開號201610396201.7, CN 106095880 A, CN 106095880A, CN 201610396201, CN-A-106095880, CN106095880 A, CN106095880A, CN201610396201, CN201610396201.7
【發(fā)明人】張曉雷, 鄒建軍
【申請人】浪潮軟件集團有限公司