---- 97 年 以 来 基 于WEB 的 数 据 库 应 用 在 数 据 库 界 谈 论 的 颇
多, 基 于WEB 的 数 据 库 的 应 用, 是 将 数 据 库 和WEB 技 术 结
合, 按 照BROWS/SERVER 结 构 建 立 的 通 过 浏 览 器 访 问 数 据 库 的
服 务 系 统。 目 前 以WEB 数 据 库 为 旗 帜 的 产 品、 原 形 或 设
计 方 案 及 研 究 论 文 很 多, 开 发 数 据 库 的WEB 应 用, 建 立
能 与 数 据 库 交 互 的WEB 网 页, 大 致 有 三 中 方 法: 其 一 是
网 关 接 口(CGI), 其 二 是JDBC(JAVA DATABASE CONNECTIVITY), 其 三 是
各 数 据 库 厂 家 开 发 的 各 自 的WEB 中 间 间。
---- 各 数 据 库 厂 家 开 发 的 各 自 的WEB 中 间 件 虽 好 不 能 通
用;JDBC 可 移 植 性、 安 全 性 与 可 靠 性 有 显 著 优 点, 但 对
开 发 难 度 大, 不 能 满 足 广 大 非 专 业 人 员 的 需 要;CGI 方
式 应 用 灵 活, 开 发 工 具 丰 富, 通 用CGI 程 序 也 很 多。 本
人 通 过 在 网 上 周 游, 寻 得 一WEB 数 据 库CGI 接 口 程 序ODBIC(101K
字 节 大 小), 小 巧 玲 珑, 应 用 灵 活, 可 以 和 各 种 数 据
库( 包 括FOXPRO 系 列、SQL SERVER、ORACLE 等) 建 立 连 接。
---- ODBIC(OPEN DATABASE INTERNE CONNECTOR) 程 序 是 运 行 在WINDOWS NT 和WIN95
上 的 共 享 软 件, 可 通 过http://www.iodbc.com 获 得 该 软 件( 目 前
已 有ODBIC1.5 版, 本 文 使 用 的 是ODBIC1.4 版)。ODBIC 是 在 浏 览 器
和 数 据 库 之 间 提 供 一 个 接 口, 即 一 个CGI 程 序, 可 以 通
过 浏 览 器 时 时 更 新 和 浏 览 数 据 库。
---- 通 过ODBIC 可 以 用 标 准 的ANSI SQL 语 句 诸 如:SELECT, INSERT,
UPDATE, or DELETE 对 在ODBC 中 设 置 的 所 有 数 据 库 进 行 操 作。ODBIC
的 最 大 优 点 是 可 以 用 摸 板 文 件 作 为 输 入, 摸 板 文 件 也
能 接 收
命 令 中 通 过submit 发 来 的 用 户 输 入 参 数, 摸 板 包 含 标 准
的HTML 命 令 和 文 本, 并 且 这 些 命 令 和 文 本ODBIC 直 接 输 出
到 浏 览 器 上, 当 然 摸 板 也 包 含ODBIC 命 令 和 变 量。 当ODBIC
以 摸 板 作 为 输 入 运 行 时, 标 准 的HTML 命 令 和 文 本 直 接 输
出 到 浏 览 器 上, 发 现ODBIC 命 令 时 立 即 执 行, 发 现ODBIC 变
量 时 立 即 用 变 量 的 当 前 值 代 替。ODBIC 命 令 是 放 在 标 准
的HTML 语 言 的 注 释 行 里,ODBIC 变 量 是 用 一 对 符 号 括 着, 下
面 一 个 很 简 单 的 例 子 说 明ODBIC 命 令 和 变 量 是 如 何 出 现
在 摸 板 文 件 里 的:
< !--DATABASE DSN=$my_database$ -- >t;
< !--SQL select * from my_table -- >;
< !--TABLE-- >;
DATABASE、SQL、TABLE 是ODBIC的最基本的命令。
---- 本 文 通 过 一 个 实 例 介 绍 用ODBIC 编 写 在 中 文WIN95 下 访 问SQL
SERVER 数 据 库 的 应 用 程 序, 体 会 以 下ODBIC 功 能 的 灵 活、 方
便、 易 学 的, 推 荐 给 大 家 共 免。
---- 在 下 面 的 例 子 里, 我 们 要 用 到 一 电 信 营 业 数 据 库
的 长 途 电 话 明 细 表, 表 结 构 如 下( 数 据 库 名 为TELEPHONE,
所 用 表 名 为DETAIL):
---- 主叫号码(CALLER) 被叫号码(CALLED) 起始时间(START-TIME) 通话时长(LENGTH)秒
通话话费(FEI)元
PQABCD1 0101234567 98/03 19/27 100 220
PQABCD2 0371123456 98/03 19/40 370 462
...
...
---- 首 先, 建 立ODBC 数 据 库 的 连 接, 打 开WIN95 的“ 设 置” 菜
单 中 的“ 控 制 面 板”, 启 动ODBC 驱 动 程 序, 设 置 相 应 的ODBC
驱 动 器, 本 例 中 为SQL SERVER; 建 立 数 据 源, 为 了 方 便 此 处
数 据 源 的 名 也 为TELEPHONE。 如 果“ 控 制 面 板” 中 没 有ODBC 驱
动 程 序, 可 以 从WIN95 的 系 统 盘 中 装 入, 也 可 从 一 些 共 享
软 件 站 点 下 载, 具 体 办 法 此 处 不 在 赘 述。
---- 然 后, 编 写 长 话 明 细 查 询 主 页, 为 了 简 化, 清 单 中
删 去 了 一 些 修 饰 性 的HTML 语 句, 查 询 类 型 中 也 只 保 留 了
长 话 明 细( 可 以 包 含 电 话 挡 案 查 询 和 更 改、 交 费 汇 总
和 明 细、 帐 务 处 理 等 等)。
---- 长 话 明 细 查 询 主 页 清 单:SEARCH。HTML
< HTML >
< HEAD >
< TITLE >长话明细查询主页< /TITLE >
< /HEAD >
< CENTER >
< TABLE >
< FONT SIZE="5" COLOR="#990000" >
长话明细查询< /FONT >
< FORM METHOD="post" ACTION="
../cgi-bin/odbic.exe/cgi-bin/MODEL.html" >
< TR >< TD ALIGN="right" >< FONT COLOR="#990000" >
电话号码 : < /FONT > < /TD >
< TD >< INPUT NAME="DHHM" TYPE="text" SIZE="12"
>
< /TD >< /TR >
< TR >< TD ALIGN="right" >< FONT COLOR="#990000" >
授权口令: < /FONT > < /TD >
< TD >< INPUT NAME="PWD" TYPE="password" SIZE="12"
>
< /TD >< /TR >
< TR >< TD ALIGN="rig