999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

巧用SQL語言批量建立金蝶K3賬套

2011-12-31 00:00:00胡志宙
中國(guó)管理信息化 2011年22期

[摘要] 近年來各經(jīng)管類院校大力開展ERP實(shí)驗(yàn)課程的建設(shè)以加強(qiáng)應(yīng)用型與創(chuàng)新型人才的培養(yǎng)。在ERP實(shí)驗(yàn)教學(xué)中使用金蝶K3網(wǎng)絡(luò)版具有許多優(yōu)點(diǎn),但在K3服務(wù)器上建立大量實(shí)驗(yàn)賬套耗時(shí)且效率低。針對(duì)建賬難的問題,本文介紹了基于SQL語言的快速、簡(jiǎn)便和大批量建立K3賬套的方法。

[關(guān)鍵詞] 金蝶; ERP; SQL語言; 實(shí)驗(yàn)室

doi : 10 . 3969 / j . issn . 1673 - 0194 . 2011 . 22. 047

[中圖分類號(hào)]G642;F232 [文獻(xiàn)標(biāo)識(shí)碼]A [文章編號(hào)]1673 - 0194(2011)22- 0082- 02

實(shí)驗(yàn)教學(xué)是學(xué)校本科教學(xué)培養(yǎng)方案和教學(xué)計(jì)劃的重要環(huán)節(jié),隨著各高校對(duì)應(yīng)用型和創(chuàng)新型人才培養(yǎng)的重視,目前絕大部分的經(jīng)管類院校都開設(shè)了ERP實(shí)驗(yàn)課程以加強(qiáng)應(yīng)用型人才的培養(yǎng),ERP實(shí)驗(yàn)室成為經(jīng)管類學(xué)院的各個(gè)專業(yè)開展專業(yè)綜合性實(shí)驗(yàn)和校內(nèi)模擬實(shí)習(xí)的基地。因?yàn)榻鸬耍硢螜C(jī)版對(duì)計(jì)算機(jī)的配置要求較高,并且實(shí)驗(yàn)計(jì)算機(jī)安裝有硬盤還原卡,學(xué)生每次實(shí)驗(yàn)時(shí)需進(jìn)行恢復(fù)、拷貝和備份冗長(zhǎng)的過程,所以我院實(shí)驗(yàn)室在實(shí)驗(yàn)教學(xué)中采用K3網(wǎng)絡(luò)版,在K3服務(wù)器上為每位實(shí)驗(yàn)學(xué)生建立一個(gè)賬套,由于ERP課程面向各個(gè)專業(yè)的學(xué)生,需建的賬套的類型和數(shù)量有很多,如我院實(shí)驗(yàn)室一學(xué)期需建400多個(gè)各種類型(如標(biāo)準(zhǔn)財(cái)務(wù)、標(biāo)準(zhǔn)供應(yīng)鏈、人力資源等)的實(shí)驗(yàn)賬套。建立賬套是一個(gè)重復(fù)和非常耗費(fèi)時(shí)間的過程,隨著賬套數(shù)的不斷增多,建賬的速度也越來越慢,建立一個(gè)賬套需近40多分鐘的時(shí)間,建上百個(gè)賬套需要專人幾周的時(shí)間。為解決建立K3實(shí)驗(yàn)賬套效率非常低的問題,經(jīng)過摸索本文通過SQL語言來快速、簡(jiǎn)便地完成金蝶K3賬套的批量建立。

1基于SQL語言的建庫方式

金蝶K3是基于三層客戶/服務(wù)器(C/S模式),用戶通過客戶端和中間層連接K3后臺(tái)數(shù)據(jù)庫的服務(wù)器來實(shí)現(xiàn)業(yè)務(wù)操作。當(dāng)用戶使用K3的賬套管理工具建立賬套時(shí),實(shí)際上是程序使用SQL數(shù)據(jù)庫管理語言對(duì)其后臺(tái)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)操作,因此可在K3建立賬套時(shí)打開SQL數(shù)據(jù)庫的SQL Server Profiler來跟蹤和分析SQL建庫的命令。通過對(duì)SQL Profiler記錄的SQL語句的分析可得出K3賬套管理建庫的步驟:

1.1建立數(shù)據(jù)庫

通過對(duì)SQL語句的分析可發(fā)現(xiàn),K3建賬時(shí)實(shí)際是調(diào)用了SQL語言的RESTORE DATABASE數(shù)據(jù)庫恢復(fù)命令,該命令以恢復(fù)K3預(yù)置的數(shù)據(jù)庫備份文件的方式新建一個(gè)賬套的數(shù)據(jù)庫,其SQL命令為:

RESTORE DATABASE AIS201102081015 from disk=’D:\Program Files\Kingdee\K3ERP\DBFILE\SCM.bak’ with recovery,move ’SCM102SP2_Data’ to ’D:\K3-DATA\ AIS201102081015_Data.mdf’,move ’SCM102SP2_log’ to ’D:\K3-DATA\AIS201102081015_log.ldf’,replace

RESTORE DATABASE命令把SCM.bak備份文件恢復(fù)成新的數(shù)據(jù)庫AIS 201102081015,其中D:\K3-DATA是新建賬套的數(shù)據(jù)庫存放路徑。 SCM.bak是標(biāo)準(zhǔn)供應(yīng)鏈解決方案類型的賬套備份文件,SCM102SP2_Data和SCM102SP2_Log為它的數(shù)據(jù)庫文件和數(shù)據(jù)庫日志文件。K3提供了標(biāo)準(zhǔn)供應(yīng)鏈、標(biāo)準(zhǔn)財(cái)務(wù)、人力資源、集團(tuán)財(cái)務(wù)等8種賬套類型,這些賬套類型以數(shù)據(jù)庫備份壓縮文件的形式存放在D:\Program Files\Kingdee\K3ERP\DBFILE(假定金蝶的安裝目錄在D盤)中,其文件名為:ADCA、SCM、GFI、HR等9個(gè)壓縮文件。當(dāng)用戶建立某個(gè)類型賬套如選擇集團(tuán)財(cái)務(wù)解決方案時(shí),程序會(huì)先調(diào)用SQL命令解壓GFI.RAR文件,然后再以RESTORE DATABASE命令把GFI.bak數(shù)據(jù)庫備份文件中的GFI102SP2_Date數(shù)據(jù)庫文件和GFI102SP2_Log數(shù)據(jù)庫日志文件恢復(fù)到新的數(shù)據(jù)庫文件。在建立不同賬套類型時(shí)只需選用對(duì)應(yīng)的備份文件和修改參數(shù)Move后接的文件名,如建立戰(zhàn)略人力資源類型賬套則把數(shù)據(jù)庫備份文件改為HR.bak,參數(shù)move后兩個(gè)文件分別改為HR102SP2_data和HR102SP2_log。

為了更快捷和統(tǒng)一地建立學(xué)生實(shí)驗(yàn)賬套,可采用K3賬套管理中恢復(fù)賬套的方式來新建賬套。其方法是先建立一個(gè)賬套類型的賬套作為模板,完成賬套屬性及賬套的用戶、數(shù)據(jù)權(quán)限等方面的設(shè)置后備份該賬套。建立相同類型的賬套時(shí)采用恢復(fù)賬套命令,選取賬套備份文件后輸入新賬套號(hào)和賬套名來完成賬套的新建。這種恢復(fù)建賬方法比新建賬套的方法速度快很多,假定E:\K3-backup\Ftc.bak為建賬模板的備份文件,恢復(fù)賬套的SQL語句為:

RESTORE DATABASE AIS20110420070623 from disk=’E:\K3-backup\Ftc.bak’ with recovery, move ’SCM102SP2_Data’ to ’E:\K3-DATA\AIS20110420070623_Data.mdf’,move ’SCM102SP2_log’ to ’E:\K3-DATA\AIS20110420070623_log.ldf’, replace

可在SQL Server Management studio的數(shù)據(jù)庫查詢窗口中執(zhí)行上述SQL語句,以下是數(shù)據(jù)庫查詢窗口完成數(shù)據(jù)庫新建后的返還信息:

已為數(shù)據(jù)庫’AIS20110420070623’,文件’SCM102SP2_Data’(位于文件1上)處理了28 496 頁。已為數(shù)據(jù)庫 ’AIS20110420070623’,文件 ’SCM102SP2_log’ (位于文件1上)處理了7頁。RESTORE DATABASE 成功處理了 28 503 頁,花費(fèi) 18.867 秒(12.375 MB/秒)。

從返還信息中可看出,采用恢復(fù)賬套的方式建立數(shù)據(jù)庫的速度要快得多。

1.2在Master數(shù)據(jù)庫中注冊(cè)賬套

賬套的后臺(tái)數(shù)據(jù)庫建立后,還必須在SQL數(shù)據(jù)庫的Master數(shù)據(jù)庫的t_kdaccount_gl表中建立新賬套的記錄。Master數(shù)據(jù)庫是SQL Server系統(tǒng)最重要的系統(tǒng)庫,它記錄了SQL Server系統(tǒng)的所有系統(tǒng)信息,包括所有的登錄信息、系統(tǒng)設(shè)置信息、SQL Server的初始化信息和其他系統(tǒng)數(shù)據(jù)庫及用戶數(shù)據(jù)庫的相關(guān)信息。使用以下SQL語句完成t_kdaccount_gl表的新賬套記錄:

insert into t_KDAccount_gl(CAcc_Name,CDbName,DBuildDate,cdbversion) values(’st2’,’ AIS201102081015’,’2011-02-08’,’3.0’)

該SQL語句在表t_KDAccount_gl中按順序插入賬套名、數(shù)據(jù)庫實(shí)體名、建立賬套日期和版本號(hào)的字段記錄。

1.3在K3系統(tǒng)中注冊(cè)賬套

賬套數(shù)據(jù)庫的建立和在Master數(shù)據(jù)庫中注冊(cè)后,仍需在賬套管理中重新注冊(cè)賬套才能正常使用。注冊(cè)方法:打開K3賬套管理工具,選擇菜單數(shù)據(jù)庫/注冊(cè)賬套,在注冊(cè)窗口中先選擇數(shù)據(jù)庫實(shí)體,在彈出的賬套列表中選擇已建立的賬套名稱和數(shù)據(jù)庫實(shí)體后在返回的注冊(cè)窗口中輸入賬套號(hào)即可完成賬套的注冊(cè),注冊(cè)后就可正常使用新建賬套了。

2批量建立賬套

掌握了K3的SQL建賬方法后,可采用Transact-SQL語言快速、簡(jiǎn)便地大批量地建立學(xué)生實(shí)驗(yàn)賬套。假定需為實(shí)驗(yàn)準(zhǔn)備200個(gè)賬套,首先在K3賬套管理中建立賬套并備份該賬套,然后使用SQL的條件循環(huán)流程控制語句,在begin end之間循環(huán)重復(fù)執(zhí)行RESTORE DATABASE新建賬套和在t_KDAccount_gl表插入新賬套記錄,當(dāng)新建賬套數(shù)滿足200個(gè)條件時(shí)退出循環(huán)。假定作為模板的賬套類型為標(biāo)準(zhǔn)財(cái)務(wù)解決方案,其備份文件存放在E:\k3_backup目錄下,備份文件名為Ftc.bak,K3新建賬套時(shí)其數(shù)據(jù)庫實(shí)體名是建庫時(shí)系統(tǒng)自動(dòng)生成,如AIS20110208112545為前綴AIS,后面加上建庫時(shí)系統(tǒng)的日期和時(shí)間,具有唯一性。批量建庫采用手工指定方法,前綴AIS后加上數(shù)字順序如AIS1、AIS2,賬套名為前綴st后加后數(shù)字順序即st1、st2。循環(huán)批量建立實(shí)驗(yàn)賬套的SQL語句為:

declare @ztvarchar(255) /*設(shè)置賬套的賬套號(hào)*/

declare @i int

declare @nvarchar(255) /*設(shè)置賬套數(shù)據(jù)庫的實(shí)體名稱*/

declare @p1varchar(255) /*設(shè)置賬套的數(shù)據(jù)庫文件的存放路徑*/

declare @p2varchar(255) /*設(shè)置賬套數(shù)據(jù)庫的日志文件存放路徑*/

set @i=1

while @i≤200 /*需建1到200個(gè)賬套*/

begin

set @n=’AIS’+cast(@i as varchar(255)) /*賬套數(shù)據(jù)庫名為AIS加1-200后綴*/

set @p1=’e:\K3-DATA\’+’AIS’+cast(@i as varchar(255))+’_Data.mdf’

/*數(shù)據(jù)庫文件存放在E:\K3_data目錄下,文件名為AIS后綴數(shù)字如AIS1_data.mdf*/

set @p2=’e:\K3-DATA\’+’AIS’+cast(@i as varchar(255))+’_log.ldf’

/*數(shù)據(jù)庫的日志文件存放在E:\K3_data目錄下, 文件名為AIS后綴數(shù)字如AIS1_log.ldf*/

set @zt=’ST’+cast(@i as varchar(255))

RESTORE DATABASE @nfrom disk=’E:\K3-backup\Ftc.bak’ with recovery,

move ’STDFI102SP2_Data’ to @p1, move ’STDFI102SP2_LOG’ to @p2, replace

/*以預(yù)先設(shè)置好的Ftc.bak賬套備份文件為母版新建賬套*/

insert into t_KDAccount_gl(CAcc_Name,CDbName,DBuildDate,cdbversion) values(@zt,@n,getdate(),’3.0’)

/*在t_kdaccount_gl表中插入新賬套記錄,getdate()為SQL日期函數(shù),取當(dāng)前系統(tǒng)時(shí)期*/

set @i=@i+1

end

用戶可以在服務(wù)器空閑的時(shí)間如晚上計(jì)劃執(zhí)行上述批量建庫的SQL語句,讓服務(wù)器在空閑時(shí)間里自動(dòng)完成200個(gè)賬套的數(shù)據(jù)庫建庫工作,然后再使用K3的賬套管理工具中的注冊(cè)賬套完成新賬套的注冊(cè)。

3結(jié)語

建立上百個(gè)金蝶實(shí)驗(yàn)賬套是一個(gè)煩瑣、費(fèi)時(shí)的過程,尤其是當(dāng)賬套數(shù)達(dá)到一定數(shù)量后,專人建立實(shí)驗(yàn)賬套一天才完成十幾個(gè)賬套,效率相當(dāng)?shù)汀2捎茫樱眩陶Z言自動(dòng)批量完成賬套后臺(tái)數(shù)據(jù)庫的建立,而手工注冊(cè)賬套只需幾分鐘的時(shí)間,使建賬變得快捷、輕松。SQL作為強(qiáng)大的關(guān)系數(shù)據(jù)庫管理語言,在用友U8、金蝶K3等財(cái)務(wù)軟件的實(shí)驗(yàn)數(shù)據(jù)管理和維護(hù)中,運(yùn)用SQL語言可達(dá)到事半功倍效果,使我們的工作更快捷、簡(jiǎn)便和富有效率。

主要參考文獻(xiàn)

[1] [美]保羅·圖雷,丹·伍德. T-SQL編程入門經(jīng)典(涵蓋SQL Server 2008&2005)[M]. 吳偉平,譯. 北京:清華大學(xué)出版社,2009.

[2] [美]Dejan Sunderic. SQL Server 2000高級(jí)編程技術(shù)[M]. 熊桂喜,譯. 北京:清華大學(xué)出版社,2002.

[3] 袁鵬飛,孫軍安. 中文版SQL Server 2000 數(shù)據(jù)庫系統(tǒng)管理[M]. 北京:人民郵電出版社,2001.

主站蜘蛛池模板: 亚洲精品久综合蜜| 久久狠狠色噜噜狠狠狠狠97视色 | 精品無碼一區在線觀看 | 久久先锋资源| 成年人福利视频| 亚洲男人的天堂久久精品| www精品久久| 99久久精品美女高潮喷水| 香蕉视频在线观看www| 女人18毛片一级毛片在线 | 欧美丝袜高跟鞋一区二区| 色窝窝免费一区二区三区| 五月天丁香婷婷综合久久| 色网在线视频| 亚洲国产第一区二区香蕉| 多人乱p欧美在线观看| 欧美日韩国产成人在线观看| 亚洲毛片在线看| 极品国产一区二区三区| 国产精品女人呻吟在线观看| 毛片a级毛片免费观看免下载| 伊人福利视频| 香蕉视频在线精品| 国产成人免费高清AⅤ| 国产99视频精品免费观看9e| 国产乱子伦视频三区| 亚洲av片在线免费观看| 五月婷婷综合色| 国产精品香蕉| 国产成人麻豆精品| 国内熟女少妇一线天| 国产网站免费| 天天操精品| 国产精品理论片| 一级全黄毛片| 午夜欧美理论2019理论| 青青久久91| 国产成人一区免费观看| 成人中文字幕在线| 欧美高清国产| 中文字幕人成人乱码亚洲电影| 视频在线观看一区二区| 亚洲一区免费看| 久久亚洲美女精品国产精品| 激情综合婷婷丁香五月尤物| 国产福利影院在线观看| 免费啪啪网址| 97国产在线播放| 宅男噜噜噜66国产在线观看| 中文无码精品a∨在线观看| 日本精品视频| 一级毛片基地| 高清乱码精品福利在线视频| 狠狠色噜噜狠狠狠狠色综合久| 囯产av无码片毛片一级| 日本成人不卡视频| 欧美一区二区自偷自拍视频| 亚洲天堂777| 无码精品国产dvd在线观看9久 | 99re66精品视频在线观看| 国产丝袜第一页| 极品国产在线| 国产精品免费p区| 亚洲精品中文字幕无乱码| 色亚洲成人| 999在线免费视频| 福利在线不卡一区| 又粗又大又爽又紧免费视频| 国产美女人喷水在线观看| 欧美日韩免费在线视频| 99re免费视频| 三上悠亚精品二区在线观看| 香蕉网久久| 久久免费精品琪琪| 特级精品毛片免费观看| 国产精品流白浆在线观看| 亚洲无码37.| 美女被躁出白浆视频播放| 视频二区亚洲精品| 欧美激情第一欧美在线| 国产制服丝袜无码视频| 五月六月伊人狠狠丁香网|