如何使用ADO訪問Oracle數(shù)據(jù)庫存儲過程
導(dǎo)讀:Oracle數(shù)據(jù)庫是一種大型數(shù)據(jù)庫系統(tǒng),一般應(yīng)用于商業(yè),政府部門,它的功能很強大,能夠處理大批量的數(shù)據(jù),在網(wǎng)絡(luò)方面也用的非常多。下文中將為大家講解如何使用ADO訪問Oracle數(shù)據(jù)庫存儲過程。
一、關(guān)于ADO
在基于Client/Server結(jié)構(gòu)的數(shù)據(jù)庫環(huán)境中,通過OLE DB接口可以存取數(shù)據(jù),但它定義的是低層COM接口,不僅不易使用,而且不能被VB,VBA,VBScript等高級編程工具訪問。
而使用ADO則可以很容易地使VB等編程語言直接訪問數(shù)據(jù)(通過OLE DB接口)。ADO是基于面向?qū)ο蠓椒ǖ?,其對象模型如下圖所示(略)
由上圖可見,ADO對象模型總共才包括六個對象,相對于數(shù)據(jù)訪問對象(DAO)來說簡單得多。因此實際中常常使用它來訪問數(shù)據(jù)庫。
二、ADO訪問數(shù)據(jù)庫實例
下面,我們以O(shè)racle為例,使用VB6.0來訪問其數(shù)據(jù)庫中的存儲過程。在此例中,我們首先在Oracle數(shù)據(jù)庫上創(chuàng)建有兩個存儲過程,一個不帶參數(shù),另一個帶有參數(shù)。然后,使用ADO來訪問這兩個存儲過程。步驟如下:
1. 在Oracle服務(wù)器上運行以下DDL腳本:
DROP TABLE person;
CREATE TABLE person
(ssn NUMBER(9) PRIMARY KEY,
fname VARCHAR2(15),
lname VARCHAR2(20));
INSERT INTO person VALUES(555662222,'Sam','Goodwin');
INSERT INTO person VALUES(555882222,'Kent','Clark');
INSERT INTO person VALUES(666223333,'Jane','Doe');
COMMIT;
/
2. 在Oracle服務(wù)器上創(chuàng)建包(package):
CREATE OR REPLACE PACKAGE packperson
AS
TYPE tssn is TABLE of NUMBER(10)
INDEX BY BINARY_INTEGER;
TYPE tfname is TABLE of VARCHAR2(15)
INDEX BY BINARY_INTEGER;
TYPE tlname is TABLE of VARCHAR2(20)
INDEX BY BINARY_INTEGER;
PROCEDURE allperson
(ssn OUT tssn,
fname OUT tfname,
lname OUT tlname);
PROCEDURE oneperson
(onessn IN NUMBER,
ssn OUT tssn,
fname OUT tfname,
lname OUT tlname);
關(guān)于如何使用ADO訪問Oracle數(shù)據(jù)庫存儲過程的講解就為大家介紹到這里,Oracle數(shù)據(jù)庫是很多人都工作中經(jīng)常要用到的數(shù)據(jù)庫管理系統(tǒng),應(yīng)用也比較普遍,希望上文中涉及到的內(nèi)容對大家能夠有所幫助。