计算机世界日报
返回首页 产品报价 实用技巧 国产软件 技术天地 站点精选

计算机世界展览会日报

  综合要闻
  企业&人.com
  产品与技术
  网络与通信
  市场与渠道
  99全文检索

CCW网站

  网络世界
  微电脑世界
  IT经理世界
  CCW展览
  信息服务中心   家用电脑世界

兄弟刊物

  电子与信息化
  今日电子
  中国新闻科技
  电子知识产权
  电子产品世界

网上专递

  Linux园地
  友情链接
  冬涛谈法
Dongtao on Law

98内容总汇



实用技巧

Oracle Objects for OLE 及 在VB 中 的 应 用

上 海 大 连 西 路
杨 晨 岩

---- [ 本 文 为 摘 要, 全 文 可 下 载,Zip 118KB]

---- 一 般 说 来, 访 问 远 程 后 台 数 据 库 我 们 都 是 通 过ODBC 来 完 成 的。 但 是,ODBC 有 一 个 致 命 的 缺 点 — — 速 度 慢。 事 实 上, 对 于ORACLE 数 据 库, 除 了ODBC, 我 们 还 可 以 利 用ORACLE 本 身 所 提 供 的OLE 对 象(Oracle Objects for OLE) 来 实 现 快 速 访 问 有 关 数 据 库。 在ORACLE V8 中,Oracle Objects for OLE( 以 下 简 称OO) 为 常 用 开 发 工 具 提 供 了 一 整 套 与 数 据 库 简 单 相 连 的 通 讯 访 问 方 式, 它 支 持 各 种 支 持VB 自 定 义 控 件 或OLE 自 动 化(OLE Automation) 的 开 发 环 境。OO 主 要 由 三 部 分 组 成:

  • ORACLE 对 象 服 务 器(the Oracle Object Server)
  • ORACLE 数 据 访 问 控 件(the Oracle Data Control)
  • C++ 类 库(the Oracle Objects for OLE C++ Class Library)
---- OO 主 要 包 括 对 象 和 用 途:

---- OraClient 定 义 工 作 域, 并 管 理 会 话 集。
---- OraSession 管 理 数 据 库 对 象 集, 并 提 供 共 享 式 连 接 和 事 务 控 制。
---- OraConnection 与ORACLE 数 据 之 间 建 立 的 连 接。
---- OraDatabase 对ORACLE 数 据 库 的 一 个“ 虚” 登 录。
---- OraParamArray 参 数 组。
---- OraParameter 绑 定 在SQL 语 句 或PL/SQL 块 中 的 有 关 变 量。
---- OraDynaset 利 用SELECT 语 句 所 得 到 的 记 录。
---- OraSQLStmt 预 定 义 的 单 独 的 一 句SQL 语 句。
---- OraField OraDynaset 对 象 中 的 列(Column)。
---- 下 图 展 示 了OO 的 三 种 组 成 部 分 与ORACLE 数 据 库 之 间 的 关 系。

 	.
	.
	.

---- 下 图 是 各 对 象 之 间 的 关 系:

 	.
	.
	.

---- 下 面 以VB 为 例, 主 要 讲 一 下ORACLE 对 象 服 务 器(the Oracle Object Server) 和ORACLE 数 据 访 问 控 件(the Oracle Data Control) 的 有 关 应 用。

一、ORACLE 数 据 访 问 控 件(the Oracle Data Control)

---- 要 在VB 中 使 用 数 据 访 问 控 件ORADC(Oracle Data Control) 须 先 在 项 目(Project) 中 加 入 部 件ORADC.OCX( 通 常 它 放 在ORACLE 的 缺 省 路 径 下 的BIN 目 录 下), 然 后 在FORM 上 加 入 一 个ORADC, 查 看 它 的 有 关 属 性, 可 以 看 到, 它 与VB 所 带 的RDO(Remote Data Object) 相 同, 有Connect 和DatabaseName 两 个 属 性。 但 注 意, 此 处 的 属 性 的 填 写 与RDO 不 同,DATABASE 处 加 入 的 是 在ORACLE 设 置 中 所 命 名 的HostString, 而Connect 则 需 填 入 用 户 名 和 口 令, 如:

---- ... ...

二、 ORACLE 对 象 服 务 器(the Oracle Object Server)

---- 在VB 里,OraSession、OraDataBase、OraDynaset 分 别 与VB 内 置 的RDO 对 象rdoConnection、rdoEnvironment、rdoResultset 相 类 似, 不 同 的 只 是 它 们 的 定 义 方 式 不 同。

---- ... ...

---- 除 了 简 单 地 访 问 数 据 库 以 外, 还 可 以 利 用ORACLE 对 象 服 务 器 带 参 数 调 用ORACLE 的 存 储 过 程 和PL/SQL 块。

---- 下 面 的 程 序 段 调 用ORACLE 过 程 来 实 现 根 据 人 员 代 码 检 索 姓 名 的 功 能。

---- ORACLE 过 程:

PROCEDURE GetAge 
(userid IN CHAR, userage OUT NUMBER) is 
BEGIN 
  SELECT age into userage 
from userinfo WHERE usercode=userid;
END GetAge;

VB 程 序 段:
Sub Form_Load ()

	... ...
 

---- 值 得 注 意 的 是, 在 上 例 中, 我 们 使 用CreateSQL 语 句 建 立 了 一 个OraSQLStmt 对 象, 事 实 上, 如 果 我 们 需 要 执 行 一 句non-SELECT SQL 语 句 的 话, 我 们 可 以 使 用ExecuteSQL 语 句, 该 语 句 可 以 返 回 执 行 行 数。 实 际 上, 它 生 成 了 一 个OraDynaset 对 象。

 
免 费 订 阅

实用技巧分类

Office应用
CAD
C、C++
数据库应用
Delphi
Internet应用
Java
Notes应用
操作系统应用
PowerBuilder
VB
Visual Foxpro
其他类
上周 排行榜
如 何 投 稿 ?

编者的话

在日常的工作生活中, 我们对计算机软硬件技术的应用开发肯定有许多的心得体会, 拿来和众人分享:让别人得到他们想要的,使自己找到苦苦寻觅的; 小的点点滴滴,大的工程系统,这里都需要。投稿 的关键在“技巧”二 字,知他人所不知,这样的稿件本栏最最欢迎! 大家公认的 好文章自然会有好的奖励。希望每个人 在这里都有所收获...

r2.gif (980 bytes)
  中国惠普
  3Com中国
  Motorola中国
  CA中国
  Cabletron
  Sony在中国
  西门子WinCC
  爱普生中国
  中国建设银行
  德州仪器(TI)
  问博医药


中国计算机世界出版服务公司版权所有