[摘 要]本文應(yīng)用Visual Basic6.0實(shí)現(xiàn)內(nèi)蒙古自治區(qū)各氣象臺(tái)站生態(tài)與農(nóng)牧業(yè)氣象數(shù)據(jù)遠(yuǎn)程填報(bào),同時(shí)將數(shù)據(jù)適時(shí)錄入Oracle數(shù)據(jù)庫(kù),實(shí)現(xiàn)數(shù)據(jù)的上傳入庫(kù),替代了過去生態(tài)與農(nóng)牧業(yè)氣象數(shù)據(jù)通過Excel上傳和數(shù)據(jù)在氣象服務(wù)中使用的繁瑣過程。
[關(guān)鍵詞]Visual Basic 6.0;Oracle數(shù)據(jù)庫(kù);生態(tài);農(nóng)牧業(yè)
doi:10.3969/j.issn.1673 - 0194.2016.24.101
[中圖分類號(hào)]TP31 [文獻(xiàn)標(biāo)識(shí)碼]A [文章編號(hào)]1673-0194(2016)24-0-02
生態(tài)與農(nóng)牧業(yè)氣象觀測(cè)是內(nèi)蒙古自治區(qū)的特色觀測(cè)業(yè)務(wù),為地方的生態(tài)文明建設(shè)發(fā)揮了重要作用。目前生態(tài)與農(nóng)牧業(yè)氣象觀測(cè)數(shù)據(jù)是通過統(tǒng)一的Excel表格進(jìn)行填報(bào)和上報(bào),人工進(jìn)行摘錄和統(tǒng)計(jì)分析,尚未形成一套統(tǒng)一的軟件供用戶應(yīng)用,在規(guī)范性、便捷性和實(shí)用性等方面均給業(yè)務(wù)和用戶帶來不便。
為做好內(nèi)蒙古自治區(qū)生態(tài)與農(nóng)牧業(yè)氣象觀測(cè)業(yè)務(wù)工作,減少臺(tái)站觀測(cè)人員重復(fù)性工作,簡(jiǎn)化工作流程,減輕業(yè)務(wù)人員工作壓力,加強(qiáng)生態(tài)與農(nóng)牧業(yè)氣象觀測(cè)數(shù)據(jù)的集中、統(tǒng)一、高效的規(guī)范化管理,本文應(yīng)用Visual Basic 6.0實(shí)現(xiàn)內(nèi)蒙古自治區(qū)各氣象臺(tái)站生態(tài)與農(nóng)牧業(yè)氣象數(shù)據(jù)的遠(yuǎn)程填報(bào),同時(shí)將數(shù)據(jù)適時(shí)錄入Oracle數(shù)據(jù)庫(kù),實(shí)現(xiàn)數(shù)據(jù)的上傳入庫(kù)。
1 生態(tài)與農(nóng)牧業(yè)氣象系統(tǒng)功能
該系統(tǒng)基于Visual Basic語(yǔ)言環(huán)境,調(diào)用FlexCell控件功能,主要實(shí)現(xiàn)天然牧草營(yíng)養(yǎng)成分、牧草多樣性、森林可燃物、沙丘移動(dòng)、土壤風(fēng)蝕度、氣象災(zāi)害及衍生災(zāi)害等數(shù)據(jù)的填報(bào)、上傳和入庫(kù)功能。考慮到野外實(shí)際情況及工作的方便程度,該系統(tǒng)采用本地?cái)?shù)據(jù)入ACCESS數(shù)據(jù)庫(kù),遠(yuǎn)程通過調(diào)用Oracle客戶端,將臺(tái)站數(shù)據(jù)直接寫入省級(jí)CIMISS數(shù)據(jù)對(duì)應(yīng)數(shù)據(jù)表中,實(shí)現(xiàn)數(shù)據(jù)的本地備份和遠(yuǎn)程上傳。
結(jié)合用戶需求,梳理農(nóng)業(yè)氣象觀測(cè)項(xiàng)目和生態(tài)觀測(cè)項(xiàng)目,對(duì)比二者觀測(cè)內(nèi)容的差異,重新將觀測(cè)內(nèi)容進(jìn)行調(diào)整,去除重復(fù)的填報(bào)內(nèi)容,主要需求是兩方面:一是在原有功能模塊的基礎(chǔ)上進(jìn)行補(bǔ)充完善,如在原有的農(nóng)氣簿功能模塊中新增觀測(cè)功能,如圖1所示,小麥穗長(zhǎng)、測(cè)定發(fā)育期為新補(bǔ)充完善的觀測(cè)項(xiàng);二是新增功能模塊,如圖2所示,生態(tài)簿及其所含內(nèi)容為該系統(tǒng)新增的功能模塊。
2 數(shù)據(jù)庫(kù)設(shè)計(jì)與連接
2.1 本地ACCESS數(shù)據(jù)庫(kù)的建立
Set adoRst=New ADODB.Recordset
Set adoCon=New ADODB.Connection
sDbase=fso.GetAbsolutePathName(App.Path+\"\..\Dbase\生態(tài)氣象.mdb\")
sCon=\"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"sDbase\";Persist Security Info=False\"
adoCon.ConnectionString=sCon
adoCon.Open
adoRst.ActiveConnection=adoCon
adoRst.CursorType=adOpenKeyset
adoRst.LockType=adLockOptimistic
adoRst.Open sTable
sDbase=fso.GetAbsolutePathName(App.Path+\"\..\Dbase\Extremum\生態(tài)氣象.mdb\")
sCon=\"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"sDbase\";Persist Security Info=False\"
Set adoRst_Ext=New ADODB.Recordset
SetadoCon_Ext=New ADODB.Connection
adoCon_Ext.ConnectionString=sCon
adoCon_Ext.Open
adoRst_Ext.ActiveConnection=adoCon_Ext
adoRst_Ext.CursorType = adOpenKeyset
adoRst_Ext.LockType = adLockOptimistic
adoRst_Ext.Open sTable
2.2 遠(yuǎn)程Oracle數(shù)據(jù)庫(kù)的建立
與其他數(shù)據(jù)庫(kù)相比,本系統(tǒng)使用具有可用性和可擴(kuò)展性好、數(shù)據(jù)安全性及穩(wěn)定性強(qiáng)等優(yōu)點(diǎn)的Oracle數(shù)據(jù)庫(kù),在VB模塊中主要代碼如下。
Dim adoCon As New ADODB.Connection
Dim adoRst As New ADODB.Recordset
Dim SqlStr As String
adoCon.Open\"Provider=OraOLEDB.Oracle;Password=******;UserID=******;Data Source=******;Persist Security Info=True\"
SqlStr=\"Select*From AGME_SAND_MOVE_TAB\"
adoRst.CursorLocation=adUseClient
adoRst.Open SqlStr,adoCon,adOpenDynamic,adLockOptimistic,adCmdText
Result=Grass_Develop_Observation_cimiss(adoRst,adoRst_Ext,K,Index,F(xiàn)Rows)
adoRst.Close
adoCon.Close
para_adoRst.AddNew
para_adoRst!D_DATETIME = Grid1(Index).Cell(FRows+i-1,1).Text
para_adoRst!V01300=Grid1(Index).Cell(FRows+i-1,2).Text
……
para_adoRst!V04001 = Left(Grid1(Index).Cell(FRows+i-1,1).Text,4)
para_adoRst!V04002=Mid(Grid1(Index).Cell(FRows+i-1,1).Text,6,2)
para_adoRst!V04003 = Right(Grid1(Index).Cell(FRows+i-1,1).Text,2)
para_adoRst!D_IYMDHM=sDate
para_adoRst!D_RYMDHM=sDate
3 程序窗體設(shè)計(jì)
本系統(tǒng)主窗體如圖3所示,功能主要包括數(shù)據(jù)的保存、瀏覽、打印及臺(tái)站ACCESS入庫(kù)和Oracle數(shù)據(jù)入庫(kù)和上傳。
主要參考文獻(xiàn)
[1]劉辰,高月秋.ORACLE數(shù)據(jù)庫(kù)系統(tǒng)——管理與應(yīng)用[M].北京:人民郵電出版社,1999.
[2][美]THOMAS KYTE.ORACLE專家高級(jí)編程[M].袁勤勇,張玉魁,譯.北京:清華大學(xué)出版社,2002.
[3]薛孟強(qiáng),汪厚祥.ORACLE數(shù)據(jù)庫(kù)并發(fā)控制和故障恢復(fù)[J].艦船電子工程,2003(5).
[4]邢海捷.ORACLE數(shù)據(jù)庫(kù)中的多粒度封鎖機(jī)制[J].微型電腦應(yīng)用,2005(1).
[5]清源計(jì)算機(jī)工作室.Visual Basic 6.0開發(fā)寶典[M].北京:機(jī)械工業(yè)出版社,1999.