



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、用SQL Server實現(xiàn)采集數(shù)據(jù)的網(wǎng)上共享王術 余立建 西南交通大學通信與計算機工程學院摘要本文的目的是希望在數(shù)據(jù)采集系統(tǒng)中,用SQL Server數(shù)據(jù)庫來實現(xiàn)數(shù)據(jù)的網(wǎng)絡共享。文中介紹了VB中的幾個數(shù)據(jù)訪問庫,SQL Server數(shù)據(jù)庫和在VB中分別用DAO和ADO訪問SQL Server的幾個方法,其中以ADO最為詳細。關鍵詞:VB,SQL Server,DAO,ADO,數(shù)據(jù)采集AbstractThe purpose of this paper is to use the SQL Server database to realize the sharing of data in the n
2、etwork in the data acquisition system. The paper induces several data accessing libraries, SQL Server database and several methods to use the DAO and ADO to access the SQL Server in the VB.Keywards:VB,SQL Server,DAO,ADO,Data acquisition1 前言隨著網(wǎng)絡的迅速發(fā)展,越來越多的的工業(yè)控制系統(tǒng)要求與網(wǎng)絡結合,實現(xiàn)工控系統(tǒng)中采集數(shù)據(jù)的網(wǎng)上共享。一些工控組態(tài)軟件也紛紛推出
3、了對網(wǎng)絡的支持。通過網(wǎng)絡進行遠程數(shù)據(jù)采集已經(jīng)成為可能,而且在一些領域已經(jīng)得到了應用。目前采用的網(wǎng)絡結構主要是Client/Server的兩層結構,需要我們分別編寫客戶機與服務器的網(wǎng)絡通訊程序,這雖然可以實現(xiàn)數(shù)據(jù)的共享,但是系統(tǒng)在數(shù)據(jù)的安全性、保密性與輔助功能上卻很不足。我們針對這些問題決定利用SQL Server關系數(shù)據(jù)庫所提供的強大的數(shù)據(jù)共享以及輔助功能來彌補不足。2 SQL Server數(shù)據(jù)庫簡介Microsoft SQL Server是一種高性能的關系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)。它是專門為大量的數(shù)據(jù)處理和管理數(shù)據(jù)存儲而設計的。它采用客戶端/服務器(client/server)網(wǎng)絡結構
4、,一般包括兩種結構:一種是兩層;一種是三層。在兩層結構中,客戶機可以直接訪問服務器,而在三層結構中,客戶機必須通過一個應用服務器來訪問數(shù)據(jù)庫服務器。當只有少數(shù)的幾個用戶時,我們可以采用兩層結構,因為這樣的結構比較的簡單,但是當用戶較多的時候,數(shù)據(jù)庫服務器的資源不夠,所以我們就必須在中間加上一個應用服務器。這時,客戶機只是向應用服務器提出操作要求,并顯示結果。三層網(wǎng)絡結構的優(yōu)勢在于,它把所有的客戶機有效的組織起來,節(jié)約了數(shù)據(jù)庫服務器的資源,提高了整個網(wǎng)絡的運行性能。由于本文是基于一個工業(yè)的數(shù)據(jù)采集系統(tǒng),它的數(shù)據(jù)庫服務器就是上位機(安裝了Windows 2000 server 和 SQL Serv
5、er 2000),客戶機只限于單位系統(tǒng)內的幾臺PC機(安裝了SQL Server 2000的客戶端工具),故我們采用了兩層結構。另外我們可以編寫基于數(shù)據(jù)庫的WEB網(wǎng)頁,使用戶的訪問更方便。3 VB數(shù)據(jù)訪問庫簡介Microsoft公司根據(jù)開發(fā)人員的要求,發(fā)布了不同的數(shù)據(jù)訪問庫,包括ODBC、DAO、RDO和ADO,其中ADO是Microsoft開發(fā)的訪問SQL Server的主要數(shù)據(jù)方法。我們這里只介紹與本文有關的DAO和ADO。DAO Data Access Objects(DAO)是Access和VB所帶的自然對象模型。DAO用Jet數(shù)據(jù)庫引擎讀取Access數(shù)據(jù)庫(MDB文件)中的數(shù)據(jù)。但
6、DAO也可以從Foxpro或dBase等ISAM數(shù)據(jù)庫和任何ODBC數(shù)據(jù)源中讀取數(shù)據(jù),包括SQL Server。由于DAO在VB3.0中就已經(jīng)出現(xiàn),在Access和VB中都有提供,因此使用DAO的應用程序比使用其他數(shù)據(jù)訪問方法的應用程序多。盡管DAO的對象結構與RDO和ADO相似,但它卻不是訪問SQL Server數(shù)據(jù)庫的最好方法。ADOADO(Activex Data Objects)是OLE DB之上的對象模型。利用OLE DB API編程數(shù)據(jù)訪問要求知道其API調用和如何處理數(shù)據(jù),這是相當繁瑣的過程。ADO是面向對象的API,隱藏了OLE DB的細節(jié)。開發(fā)人員不必使用OLE DB API
7、調用,而可以用ADO對象提供的屬性和方法讀取和處理數(shù)據(jù)。這些對象比OLE DB編程更直觀,更好用。和所有UDA組件一樣,ADO也是基于COM的。ADO提供了所有數(shù)據(jù)訪問要求的易用接口。與其他訪問庫不同的是,ADO支持特定數(shù)據(jù)源功能,此功能是通過不同OLE DB數(shù)據(jù)提供者(Data provider)提供的。4 數(shù)據(jù)庫訪問我們用VB來實現(xiàn)系統(tǒng),并提供了幾個方案,各位讀者可以根據(jù)自己的需求酌情采納。(1) 第一種方法就是通過Access來進行連接,這種方法適用與那些熟悉用DAO編程或者已經(jīng)擁有了用DAO來訪問Access數(shù)據(jù)庫程序的人,他們需要的是在不改變現(xiàn)有程序的基礎上來連接到SQL Serve
8、r數(shù)據(jù)庫,以實現(xiàn)數(shù)據(jù)的網(wǎng)上共享。VB6.0工具箱中的數(shù)據(jù)控件Data提供了一種訪問Access數(shù)據(jù)庫的方法。通過設置屬性,可以將數(shù)據(jù)控件與一個特定的數(shù)據(jù)庫及其中的表聯(lián)系起來,并可進入到數(shù)據(jù)庫中的任一記錄。數(shù)據(jù)控件只是負責數(shù)據(jù)庫和工程之間的數(shù)據(jù)交換,本身并不顯示數(shù)據(jù),必須用VB中的數(shù)據(jù)綁定控件與數(shù)據(jù)控件一起來完成訪問數(shù)據(jù)庫的任務。在VB中,對數(shù)據(jù)敏感的綁定控件有文本框(TextBox)、標簽(Label)、復選框(CheckBox)、圖象框(Image)、列表框(ListBox)等。綁定控件和數(shù)據(jù)控件必須在同一個窗體中。另外就是要注意版本的問題,如果用的是Access2000,那么它與VB6.0
9、是不能兼容的,因為Access2000用的數(shù)據(jù)庫引擎是Jet4.0比VB6.0的數(shù)據(jù)庫引擎版本要高。要解決這個問題有兩個途徑,一個是改Access2000,打開Access2000后,單擊【工具】菜單上的【數(shù)據(jù)庫實用工具】|【轉換數(shù)據(jù)庫】|【到早期Access數(shù)據(jù)庫版本】;另一個是更改VB6.0,單擊【工程】菜單中的【引用】,把引用Microsoft DAO 3.51 Object Library 庫改為引用Microsoft DAO 3.6 Object Library庫。利用控件可以很容易的連接到數(shù)據(jù)庫,并對數(shù)據(jù)庫中的記錄進行操作,這里我們就不詳述。在建立了VB到Access的數(shù)據(jù)連接后,
10、就是如何把Access數(shù)據(jù)庫連接到SQL Server數(shù)據(jù)庫。在SQL Server中提供了一種數(shù)據(jù)轉換服務DTS(Data Transformation Services),負責數(shù)據(jù)的導入和導出功能。用戶可以使用導入向導將不同的數(shù)據(jù)源中的數(shù)據(jù)導入數(shù)據(jù)庫。在企業(yè)管理器中,展開組并單擊用戶希望導入數(shù)據(jù)的服務器,從工具菜單中選擇向導,在向導對話框中選擇數(shù)據(jù)轉換服務中的DTS導入向導。余下的工作就是按照向導按部就班的進行數(shù)據(jù)導入操作。最有趣的是在向導中,用戶可以設置定時進行數(shù)據(jù)導入工作,例如可以每天的既定時間進行,這樣我們就不需要每次都人工的去進行導入操作,提高了這種方案的實用性。(2) 這種方法就
11、是直接利用ADO數(shù)據(jù)訪問庫進行VB到SQL Server的數(shù)據(jù)訪問操作。與DAO和RDO等數(shù)據(jù)訪問庫相比,ADO對象模型很簡單。盡管它顯示一個層次,頂層一個對象,但許多對象都可以獨立生成。ADO的對象模型如下:PropertyErrorPropertiesErrorsConnectionCommandParametersParameterPropertiesPropertyRecordRecordsetStreamFieldFieldsPropertyFieldPropertiesFields具體各個對象和集合的作用這里就不詳細介紹了,有意的讀者可以參考相關的資料。我們實現(xiàn)用ADO在VB中連接
12、SQL Server有兩種方法。其一是用代碼來實現(xiàn),如下:Private Sub cmdOK_Click() 檢查正確的密碼 Dim rs As New ADODB.Recordset Dim con As New ADODB.ConnectionDim strCon As StringDim SqlStr As String strCon = Provider=SQLOLEDB;Data Source=local server;Initial Catalog=database1;User Id=sa;Password=; con.Open strCon 打開數(shù)據(jù)庫連接 SqlStr = se
13、lect * from login where username= + txtUserName.Text + and password= + txtPassword.Text + rs.Open SqlStr, con, adOpenDynamic, adLockReadOnly 打開表 If Not rs.EOF Then Me.Hide MsgBox login success! mainframe.Visible = True Else MsgBox login failed! End If rs.Close con.Close End Sub這是我們編寫的一個Sub過程,實現(xiàn)登錄對話框
14、到數(shù)據(jù)庫的連接。con是ADODB.Connection對象的一個實例,rs是ADODB.Recordset的實例,Connection對象實現(xiàn)了應用程序到數(shù)據(jù)庫的連接,而Recordset實現(xiàn)對數(shù)據(jù)庫表的訪問。另外在對話框中還有文本框user和passward作為輸入,這樣我們就可以實現(xiàn)一個完整的數(shù)據(jù)庫訪問模塊了。另一種方法是用VB的ADO控件,要引用這個控件的話按下列步驟,單擊VB6.0的工程菜單中的引用,選上Microsoft Activex Data Objects 2.5 Library數(shù)據(jù)訪問庫,然后在控件列表中就會出現(xiàn)Adodc控件,結合利用其他的數(shù)據(jù)綁定控件,可以實現(xiàn)對數(shù)據(jù)庫的訪問了。其中在設置Adode控件的Connection屬性時,會出現(xiàn)一個連接向導,依照向導的指示可以完成到SQL Server數(shù)據(jù)庫的連接,其他的屬性設置與DAO類似。5 結論本文介紹的利用SQL Server數(shù)據(jù)庫進行網(wǎng)上數(shù)據(jù)共享的方法均是切實可行的,各方法有不同的優(yōu)缺點和運用條件。本文設計的工程系統(tǒng)必須是在數(shù)據(jù)庫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙教版信息技術第14課 大數(shù)據(jù)安全 教學設計
- 2024-2025學年高中語文 第四單元 萬物靜觀皆自得 11 游褒禪山記教學實錄 語文版必修3
- 第二課《安全使用燃氣》(教學設計)-2023-2024學年三年級下冊綜合實踐活動滬科黔科版
- 基于wifi的智能家居控制系統(tǒng)設計
- 物流冷鏈平臺
- 2024秋新外研版英語三年級上冊課件 Unit 3 第1課時(Get ready)
- 工程造價職業(yè)規(guī)劃
- 婚禮新娘致辭(32篇)
- 2025年興安職業(yè)技術學院單招綜合素質考試題庫審定版
- 2025年忻州職業(yè)技術學院單招職業(yè)適應性測試題庫匯編
- 城鄉(xiāng)的規(guī)劃法解讀
- 2024年全國鄉(xiāng)村醫(yī)生資格考試專業(yè)基礎知識復習題庫及答案(共150題)
- 蘇教版六年級下冊數(shù)學第三單元第1課《解決問題的策略(1)》課件(公開課)
- EOS-60D-說明手冊課件
- 企業(yè)經(jīng)營管理診斷方案
- 壓瘡上報登記表
- 2021年無人機駕駛員考試題庫及答案(完整版)
- 城軌車輛常見制動系統(tǒng)-EP09制動系統(tǒng)
- 同位素水文學研究綜述
- 【公開課】第1章發(fā)酵工程單元復習教學設計高二下學期生物人教版選擇性必修3
- 植筋施工施工方案
評論
0/150
提交評論