21· ·
!"#$%&’())*(+,)-".,/,,0112
和 =(+93’ 数据库中。
_V 使用 =(+93’V =‘a’9&4V b"(V =cH 访问 =(+ 93’ 数据库
=(+93’ 公 司 提 供 了 一 个 =(+93’V =‘a’9&4V L"(V =cH 的 技 术
( 简称 1121),使 Y@4%+3V d+4@9 及 dJeZ、YJZZ 等 [fc 高级语
言 对 =(+93’ 数 据 库 进 行 访 问 成 为 可 能 。 =(+93’ 的 =cH 对 象
( ==2=)是 一 种 进 程 中 的 =cH 服 务 器 ,它 提 供 了 一 种 对 象 层
次 结 构 ,与 gN= 非 常 相 似 ,但 却 不 采 用 =gdJ 标 准 。 它 利 用
=(+93’ 的调用接口来与 =(+93’ 会话,其中 =(+93’ 的调用接口是
一种本地代码驱动器,它仅用于访问 =(+93’ 数 据 库 。==2= 拥
有优异的功能性访问 =(+93’ 数据库,其他任何数据库访问方式
很难达到它的功能性。
=(+93’V =‘a’9&4V b"(V =cH 主要可用的对象列示如下:
=(+J3@’>&V 定 义 一 个 工 作 站 客 户 , 它 能 对 所 有 =(+8’44@">
对象进行管理。和 gN= 的 gdH>h@>’ 建立方式一样,=(+J3@’>&
对象系统通常会根据需要而自动建立。
=(+8’44@">V Yd 应 用 程 序 和 =(+93’ 服 务 器 的 接 口 , 管 理
=(+g+&+‘+4’ 集,提供了共享连接及事务控制功能。
=(+J">>’9&V 表示一个与 =(+93’ 数据库的单一连接。
=(+g+&+‘+4’V 表示一个实现连接的数据库。
=(+Q+(+6’&’(V 表示一个在 8ic 语句或 QcR8ic 块 中 的 变
量 。 =(+Q+(+6’&’( 对 象 间 接 地 通 过 =(+g+&+‘+4’ 对 象 的
=(+Q+(+6’&’(4 数据集合来增加、存取或删除某个变量。
=(+gj>+45&V 8icV 85359& 语句的查询结果。
=(+L@53^V =(+gj>+45& 对象中的一列( J"3%6>)或数据项目
A^+&+V @&56k。 =(+L@’3^ 对 象 是 间 接 从 =(+gj>+4’& 对 象 的
=(+L@’3^4 数据集合A9"33’9&@">k取得其中的一个字段的数据。
下例代码显示如何使用 ==2= 访问 =(+93’ 数据库。
l, =(+93’ 对象定义
g@6, =(+8’44@">, N4, =‘a’9&
g@6, =(+g+&+‘+4’, N4, =‘a’9&
g@6, =(+F’9"(^4’&, N4, =‘a’9&
J">4&, J">>’9& m) nV o%4’(TR$+44Tp
J">4&) g+&+‘+4’-+6’ q) n) p=FN8HFYHFp
g@6) ]r) N4) ?>&’h’(
=>) H(("() f"E") ’((s+>\3’
8’&) =(+8’44@">) n) J(’+&’=‘a’9&)
tp=(+93’?>Q("98’(P’(
.
u=(+8’44@">p C))
v, 创建 8’44@"> 对象
8’&, =(+g+&+‘+4’, n, =(+8’44@"> ., =$’>g+&+‘+4’
tg+&+‘+4’-+6’ qX, J">>’9& qX, 1wC,,
v, 建立数据库连接
8’&, =(+F’B"(\4’&, n, =(+g+&+‘+4’ ., J(’+&’gj>+4’&
tp4’3’B&, x,
b("6, &7jyh3pX, 1wC,,
v, 生成对表 &7jyh3 的查询
..., ...
’((s+>\3’ : v, 出错处理
]r, n, ?>8&( tH((.g’49(@$&@"> X, p=FN;pC
?b, ]r, z<, 1, Ey’>
8’3’9&, J+4’, {@\tH((.g’4B(@$&@"> X, ]r, Z, 2X, _C
J+4’, p1T1T/p
{4hd"|, p 数据库配置的用户名或密码不正确!pX, T}X,
p 错误 p
J+4’, pT0T_2p
{4hd"|, p 配置的网络服务器不正确!pX, T}X, p 错误 p
J+4’, p1T1[2p
{4hd"|, p 数据库未启动!pX, T}X, p 错误 p
J+4’, H34’
{4hd"|, H((.g’49(@$&@"> X, T} X, p 错误 p
H>\, 8’3’9&
H34’
{4hd"|, H((.g’49(@$&@"> X, T}X, p 错误 p
H>\, ?b
}, 结束语
在 Yd 中 实 现 访 问 =(+93’ 数 据 库 的 方 式 有 多 种 。gN= 适
用初学者学习数据库技术;Ng= 速度快、功能强大;=(+93’, g+;
&+, J">&("3 使用简单,但 代 码 编 写 不 方 便 ;==2= 是 =(+93’ 的 最
佳 典 型 性 产 品 ,它 所 支 持 的 =(+93’ 功 能 比 其 他 产 品 要 多 ,是 一
个稳定而成熟的开发环境,目前基于 =(+93’ 数 据 库 的 用 Yd 程
序语言开发的应用系统基本上都是通过 ==2= 来实现的。
参考文献:
STU, 李善茂等.Y@4%+3, d+4@9, }.1 高级编程技巧.电子工业出版社XT~~~ .
S0U 潭小丹等.Y@4%+3, d+4@B, }.1 数据 库 编 程 思 想 与 实 践. 冶 金 工 业 出 版
社X0110 .
!J,, H
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
t上接第 [1 页C
’345, 67$8"9:5&;<=>?>@&@+&’ A67$8"B:’& CD
(’&%(>) EFGH D
I
,,,, 以上是通信的一些关键步骤,还须添加一些辅 助 代 码 以 完
善 程 序 ,尤 其 要 注 意 创 建 的 套 接 字 对 象 在 退 出 前 要 析 构 ,在 堆
中 创 建 的 对 象 也 要 删 除( 这 一 步 很 重 要 ,否 则 会 造 成 堆 内 存 泄
露、堆内碎块等问题)。
2, 结束语
利用 J8"9K5& 类 并 结 合 J8"9:5&LM35、JN(9O@P5 类 是 实 现 网
络编程进行数据传输的有效手段,使用方便。如果能 将 多 线 程
技术 引 入 到 J8"9:5& 网 络 编 程 中 以 有 效 的 避 免 阻 塞 的 话 ,那 么
J8"9:5& 将是更好的选择。多线程网络技术在开发基于 EJQR?Q
的分布式应用程序中将发挥更大的作用。
参考文献:
STUV 邓全良.W@>8"9: 网络程序设计.中国铁道出版社X0110 .
S0U, 汪晓平X 钟军.Y@4%+3, JZZ 网络通信协议分析与应用实 现. 人 民 邮 电
出版社X011[ .
S[U, 萧秋水X文娟.W@>\"]4 网络编程 YJ 篇.清华大学出版社X011T .
S2U, 王 刚 X 林 立 志 . 基 于 W@>^"]4 的 EJQR?Q 编 程 . 清 华 大 学 出 版 社 X
0110 .
!J,, H