相關(guān)鏈接: 遼寧安全網(wǎng) 遼寧質(zhì)量網(wǎng) 遼寧論文網(wǎng) 遼寧資訊網(wǎng)
摘要:針對Visual Basic端遠程訪問Oracle數(shù)據(jù)庫的問題,本文介紹了客戶端無需安裝Oracle客戶軟件的連接方式,簡化了Visual Basic客戶端的復(fù)雜性,提高了訪問效率。本文介紹了ADO技術(shù),設(shè)計了基于ADO技術(shù)建立VB和Oracle數(shù)據(jù)庫的連接方法,并且根據(jù)實例有效的解決了無客戶端訪問Oracle數(shù)據(jù)庫的問題。
論文關(guān)鍵詞:VisualBasic,Oracle數(shù)據(jù)庫,ADO,無客戶端
當今社會已經(jīng)進入信息時代,作為信息管理的主要工具的數(shù)據(jù)庫已經(jīng)成為舉足輕重的角色。無論是企業(yè)、組織的管理還是電子商務(wù)或電子政務(wù)等應(yīng)用系統(tǒng)的管理,都需要數(shù)據(jù)庫的支持。Oracle數(shù)據(jù)庫是一種大型數(shù)據(jù)庫系統(tǒng),能在所有主流操作系統(tǒng)平臺(包括 Windows、Unix、Linux等等 )上運行;完全支持所有的工業(yè)標準,采用完全開放策略,可以使客戶選擇最適合的解決方案,提供高可用性和高伸縮性的解決方案;在安全方面,Oracle已是獲得了最高認證級別的 ISO 標準認證;它還是多層次網(wǎng)絡(luò)計算,支持多種工業(yè)標準,可以用 ODBC、JDBC、OLE DB 等與網(wǎng)絡(luò)客戶連接[1]。Oracle數(shù)據(jù)庫是目前最流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng),被越來越多的用戶在信息系統(tǒng)管理、企業(yè)數(shù)據(jù)管理、Internet、電子商務(wù)網(wǎng)站等領(lǐng)域作為應(yīng)用數(shù)據(jù)的后臺處理系統(tǒng)。
收稿日期:
項目基金:國家博士后基金資助項目(20100481013)
作者簡介:金艷(1986-),女,遼寧錦州人,碩士研究生,主要研究方向為圖像處理與模式識別,E-mail:jinyan5407101@sina.com;徐濤,(1971-),女,遼寧彰武人,博士,副教授,碩士生導(dǎo)師,主要研究方向為自動化測試及故障診斷,E-mail: wyhxt2000@163.com。
Visual Basic具有強大的數(shù)據(jù)庫管理功能,利用數(shù)據(jù)控件和數(shù)據(jù)庫管理窗口,可以直接建立或處理Microsoft Access格式的數(shù)據(jù)庫,并提供了強大的數(shù)據(jù)存儲和檢索功能。同時,Visual Basic還能直接編輯和訪問其他外部數(shù)據(jù)庫,如Oracle,dBASE,F(xiàn)oxPro,Paradox等,這些數(shù)據(jù)庫格式都可以用Visual Basic編輯和處理[1]?赏昝赖貙崿F(xiàn)Client/Server 結(jié)構(gòu),使程序中調(diào)用數(shù)據(jù)變得輕松易行。在客戶端采用Visual Basic設(shè)計軟件連接Oracle數(shù)據(jù)庫時,需要在用戶的機器上安裝一個Oracle數(shù)據(jù)庫客戶端,這無疑會增加用戶不少工作量,降低軟件的友好性。為了解決這個問題,本文以 Oracle 為后臺數(shù)據(jù)庫,介紹基于Visual Basic 無客戶端對遠程Oracle數(shù)據(jù)庫的訪問。
1 使用ADO技術(shù)連接Oracle數(shù)據(jù)庫
在Visual Basic中訪問Oracle數(shù)據(jù)庫的方法有以下四種方法:DAO,ADO,Oracle Data Control,oo4o[1]。本文重點介紹ADO的方法,實現(xiàn)數(shù)據(jù)庫的訪問。
1.1 ADO技術(shù)簡介
ADO(ActiveX Data Object)是Microsoft的數(shù)據(jù)庫應(yīng)用程序開發(fā)的新接口,是建立在OLE DB之上的高級數(shù)據(jù)庫訪問技術(shù)。
作為Oracle用戶,既可以通過ODBC的OLE-DB提供者訪問Oracle,也可以通過與Visual Basic 6.0相配的數(shù)據(jù)源執(zhí)行同樣的操作。軟件層中有關(guān)上述操作的不同路徑如圖1(Fig.1)所示[2]。
圖1 ADO所使用的軟件層
Fig. 1 Architecture of ADO
ADO技術(shù)具有易于使用、高速訪問數(shù)據(jù)源、可以訪問不同數(shù)據(jù)源、程序占用的內(nèi)存少的特點。
1.2 ADO對象模型
ADO對象模型規(guī)定了一組可編程的分層對象集合,在VB應(yīng)用程序中通過創(chuàng)建這組對象集合來連接數(shù)據(jù)庫并實現(xiàn)數(shù)據(jù)庫的各種操作。ADO數(shù)據(jù)模型主要有Connection、Command、Recordset、Field、Parameter、Property和Error7個對象組成。此外還有四個集合對象:Fields、Properties、Parameters、和Errors集合,如圖2(Fig.2)所示[2]。
圖2 ADO對象結(jié)構(gòu)
Fig. 2 Objects of ADO
1) Connection對象
Connection對象用于連接數(shù)據(jù)源。在數(shù)據(jù)庫應(yīng)用程序設(shè)計中,用戶所做的第一步工作是連接數(shù)據(jù)庫,也就是說必須先用Connection對象建立數(shù)據(jù)源的連接,然后再進行其他的數(shù)據(jù)操作。
在ADO數(shù)據(jù)庫應(yīng)用程序設(shè)計中,可以用Connection對象建立應(yīng)用程序與常用的數(shù)據(jù)庫的連接。下面的是連接Oracle數(shù)據(jù)庫的格式:
Dim conn As New ADODB. Connection
Conn.ConnectionString=”Provider=OraPLEDB.oracle;”& _
“Data Source=EmpDB”& _
“User Id=sa;Password=sa”
Conn.Open
如果是客戶機/服務(wù)器數(shù)據(jù)庫系統(tǒng),則該對象可以等價于到服務(wù)器的實際網(wǎng)絡(luò)連接。
2) Recordset對象
Recordset 對象用于表示基本表或命令執(zhí)行結(jié)果的記錄集,任何時候Recordset 對象都只將集合中的單個記錄作為當前記錄應(yīng)用。在使用ADO對象時,幾乎全部使用Recordset 對象均由記錄和字段組成。
3) Command對象
Command對象用于定義要對數(shù)據(jù)源執(zhí)行的特定命令。用戶可以通過Command對象查詢數(shù)據(jù)庫并返回Recordset對象中的記錄,以便執(zhí)行大量操作或?qū)?shù)據(jù)庫結(jié)構(gòu)進行操作。
4) Field對象
Field對象用于表示數(shù)據(jù)類型的數(shù)據(jù)列。每個Field對象都對應(yīng)于Recordset 對象中的一列。使用Field對象的Value屬性來設(shè)置或返回當前記錄的數(shù)據(jù)。
5) Stream對象
Stream對象用于表示二進制數(shù)據(jù)或文本的流。使用Stream對象可以為數(shù)據(jù)庫應(yīng)用程序很方便的添加圖像數(shù)據(jù)。
6) Error對象
Error對象包含了有關(guān)數(shù)據(jù)訪問錯誤的詳細信息,這些錯誤與涉及提供者的單個操作有關(guān)。在數(shù)據(jù)庫應(yīng)用升序設(shè)計中通過Error對象可以很方便地捕獲錯誤并對錯誤進行處理。
2 Visual Basic訪問Oracle數(shù)據(jù)庫的實現(xiàn)過程
ADO應(yīng)用程序的使用方法有以下兩種[6]。
2.1 用ADO Data控件
ADO控件用于對數(shù)據(jù)源進行訪問和操作。與Data控件相比,ADO控件的應(yīng)用范圍和功能更強大。
下一篇:返回列表