WEB开发网
开发学院数据库Oracle 如何使用ADO访问Oracle数据库存储过程 阅读

如何使用ADO访问Oracle数据库存储过程

 2007-05-13 12:30:37 来源:WEB开发网   
核心提示:一、关于ADO在基于Client/Server结构的数据库环境中,通过OLE DB接口可以存取数据,如何使用ADO访问Oracle数据库存储过程,但它定义的是低层COM接口,不仅不易使用,另一个带有参数,然后,而且不能被VB,VBA

一、关于ADO

在基于Client/Server结构的数据库环境中,通过OLE DB接口可以存取数据,但它定义的是低层COM接口,不仅不易使用,而且不能被VB,VBA,VBScript等高级编程工具访问。

而使用ADO则可以很容易地使VB等编程语言直接访问数据(通过OLE DB接口)。ADO是基于面向对象方法的,其对象模型如下图所示(略)

由上图可见,ADO对象模型总共才包括六个对象,相对于数据访问对象(DAO)来说简单得多。因此实际中常常使用它来访问数据库。

二、ADO访问数据库实例

下面,我们以Oracle为例,使用VB6.0来访问其数据库中的存储过程。在此例中,我们首先在Oracle数据库上创建有两个存储过程,一个不带参数,另一个带有参数。然后,使用ADO来访问这两个存储过程。步骤如下:

1. 在Oracle服务器上运行以下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服务器上创建包(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);
   END packperson;
   /

3. 在Oracle服务器上创建以下包体(package body):

1 2  下一页

Tags:如何 使用 ADO

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接