如何使用ADO訪(fǎng)問(wèn)Oracle數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程
導(dǎo)讀:Oracle數(shù)據(jù)庫(kù)是一種大型數(shù)據(jù)庫(kù)系統(tǒng),一般應(yīng)用于商業(yè),政府部門(mén),它的功能很強(qiáng)大,能夠處理大批量的數(shù)據(jù),在網(wǎng)絡(luò)方面也用的非常多。下文中將為大家講解如何使用ADO訪(fǎng)問(wèn)Oracle數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程。
一、關(guān)于A(yíng)DO
在基于Client/Server結(jié)構(gòu)的數(shù)據(jù)庫(kù)環(huán)境中,通過(guò)OLE DB接口可以存取數(shù)據(jù),但它定義的是低層COM接口,不僅不易使用,而且不能被VB,VBA,VBScript等高級(jí)編程工具訪(fǎng)問(wèn)。
而使用ADO則可以很容易地使VB等編程語(yǔ)言直接訪(fǎng)問(wèn)數(shù)據(jù)(通過(guò)OLE DB接口)。ADO是基于面向?qū)ο蠓椒ǖ模鋵?duì)象模型如下圖所示(略)
由上圖可見(jiàn),ADO對(duì)象模型總共才包括六個(gè)對(duì)象,相對(duì)于數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象(DAO)來(lái)說(shuō)簡(jiǎn)單得多。因此實(shí)際中常常使用它來(lái)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。
二、ADO訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)實(shí)例
下面,我們以O(shè)racle為例,使用VB6.0來(lái)訪(fǎng)問(wèn)其數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程。在此例中,我們首先在Oracle數(shù)據(jù)庫(kù)上創(chuàng)建有兩個(gè)存儲(chǔ)過(guò)程,一個(gè)不帶參數(shù),另一個(gè)帶有參數(shù)。然后,使用ADO來(lái)訪(fǎng)問(wèn)這兩個(gè)存儲(chǔ)過(guò)程。步驟如下:
1. 在Oracle服務(wù)器上運(yùn)行以下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訪(fǎng)問(wèn)Oracle數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程的講解就為大家介紹到這里,Oracle數(shù)據(jù)庫(kù)是很多人都工作中經(jīng)常要用到的數(shù)據(jù)庫(kù)管理系統(tǒng),應(yīng)用也比較普遍,希望上文中涉及到的內(nèi)容對(duì)大家能夠有所幫助。