利用Foxpro在网络环境下开发数据库管理软件经验点滴
来源: 作者: 出处:综艺读书 2006-10-23
摘 要 本 文 将 笔 者 利 用 FoxPro 在 网 络 环 境 下 开 发 数 据 库 管 理 软 件 时 , 对 于 实 现 数 据 共 享 与 独 占 、 提 高 系 统 安 全 性 和 性 能 的 一 些 经 验 进 行 了 总 结 。
|
|
|||
1 、 多 用 户 环 境 下 文 件 的 共 享 和 独 占 的 实 现
( 1 ) 、当 你 要 访 问 的 文 件 或 记 录 不 想 再 让 其 他 用 户 访 问 时 ( 一 般 是 对 数 据 库 的 更 新 操 作 ) , 可 在 真 正 访 问 前 地 对 其 进 行 “ 加 锁 ” , 访 问 结 束 后 再 立 即 “ 解 锁 ” ; 或 者 以 独 占 方 式 打 开 该 数 据 库 文 件 进 行 访 问 。 笔 者 在 此 以 数 据 追 加 入 库 为 例 , 简 述 采 用 按 钮 形 式 实 现 “ 加 锁 ”- “ 解 锁 ” 的 方 法 。 此 方 法 的 优 点 在 于 : 当 加 锁 失 败 后 , 程 序 可 自 动 返 回 数 据 编 辑 屏 幕 ( 不 需 要 编 程 干 预 ) , 这 样 用 户 可 根 据 需 要, 再 适 时 地 单 击 “ 追 加 ” 按 钮 继 续 其 工 作 。 “ 追 加 入 库 ” 按 钮 的代 码 片 段 如 下 : ... set exclusive off use(locfile("z:\message\scxx\hytz","dbF","Where is hytz.dbf?")); AGAIN ALIAS hytz; ORDER 0 set reprocess to 0 ok=flock() && 加 锁 if ok && 成 功 锁 住 append from hytzi wait " 数 据 追 加 成 功 ! 按 任 意 键 继 续 !" window
unlock && 解 锁 else && 加 锁
失 败 wait " 文 件 已 被 其 他 用 户 使 用 , 请 稍 候 再 试 ! " window endif use set exclusive on ... 其 中 : hytz.dbf -- 服 务 器 上 的 目 标 数 据 库 表 hytzi.dbf -- 临 时 数 据 库 表
( 2 ) 、 当 你 要 访 问 的 文 件 或 记 录 允 许 其 他 用 户 访 问 时 ( 一般 为 数 据 库 的 检 索 操 作 ) , 以 共 享 方 式 打 开 该 数 据 库 文 件 即 可 。
以 检 索 hytz.dbf 数 据 为 例 。 打 开 hytz 的 数 据 查 询 屏 幕 , 在 SCREEN 的 Layout 项 中 , 点 取 Code 按 钮 , 在 Screen Setup Code 中 加 入 如 下 代 码 段
: ... SELECT 0 USE (LOCFILE("hytz","DBF","Where is hytz?")); AGAIN ALIAS hytz ; shared; && 共 享 方 式 打 开 ORDER 0 ... 建 议 将 系 统 的 数 据 检 索 与 数 据 更 新 分 为 两 个 子 系 统 进 行 设 计 和 编 码 , 这 样 便 于 在 程 序 中 对 EXCLUSIVE 的 值 进 行 设 置 ( 使 用 SET EXCLUSIVE 命 令 和 USE { EXCLUSIVE|SHARE } 命 令 ) 。 为 了 减 少 对 数 据 库 访 问 的 “ 碰 撞 ” , 可 定 时 ( 如 晚 上 ) 对 数 据 库 进 行 更 新 操 作 ( 这 可 由 系 统 管 理 员 来 完 成 ) 。
2 、 减 少 网 络 数 据 传 输 量 、 提 高 数 据 共 享 效 率
( 1 ) 、 将FOXPRO 软 件 、 应 用 程 序 、 部 分 不 需 共 享 的 数 据 存 放 在 网 络 工 作 站 本 地 硬 盘 上 , 只 将 需 要 共 享 的 数 据 库 存 放 在 网 络 服 务 器 上 的 共 享 目 录 下 。
( 2 ) 、 对 于 在 网 上 使 用 的 数 据 库 管 理 系 统 , 为 了 减 少 独 占 数 据 库 的 时 间 , 建 议 采 用 在 本 地 单 机 上 建 立 与 其 结 构 完 全 相 同 的 临 时 库 的 方 法 。 数 据 编 辑 在 临 时 库 中 进 行 , 待 数 据 编 辑 完 毕 并校 核 无 误 时 , 再 追 加 到 服 务 器 的 目 标 库 中 ; 数 据 查 询 时 , 首 先 将
满 足 条 件 的 数 据 从 服 务 器 中 提 取 到 临 时 库 中 , 然 后 对 其 结 果 进 所 需 操 作 。
3 、 安 全 性 措 施 在 数 据 库 系 统 中 , 由 于 数 据 大 量 集 中 存 放 , 为 多 用 户 直 接 共 享 , 从 而 使 得 安 全 性 问 题 更 为 突 出 。
( 1 ) 、为 了 保 护 数 据 库 以 防 止 不 合 法 的 使 用 , 对 于 那 些 已 获 得 上 机 权 的用 户 , 还 要 进 一 步 根 据 其 对 数 据 库 所 需 进 行 的 操 作 进 行 权 限 分 类, 以 保 证 其 只 能 按 其 权 限 对 相 应 的 数 据 进 行 访 问 , 而 不 能 越 权 。
( 2 ) 、 将 共 享 数 据 存 放 在 服 务 器 的 共 享 目 录 下 , 同 时 将 查 询 软 件 ( 该 查 询 系 统 只 有 具 有 查 询 权 限 的 用 户 方 可 进 入 ) 作 为 一 独 立 系 统 安 装 于 各 工 作 站 上 , 而 将 数 据 编 辑 软 件 ( 该 数 据 编 辑 系 统 只 有 具 有 数 据 编 辑 权 限 的 用 户 方 可 进 入 ) 安 装 于 数 据 源 点 处 的 工 作 站 上 。 用 户 的 权 限 由 网 络 操 作 系 统 和 系 统 管 理 员 控 制 。
4 、 充 分 利 用 Rushmore 技 术 提 高 网 络 环 境 下 数 据 库 操 作 速 度 Rushmore Technology 是 高 效 率 存 取 数 据 的 索 引 式 数 据 存 取 技 术 。 在 编 制 数 据 库 检 索 程 序 时 , 应 用 该 技 术 可 高 效 地 访 问 许 多 记 录 的 组 合 , 使 复 杂 的 数 据 库 操 作 速 度 提 高 成 百 上 千 倍 。 能 使 用 Rushmore 的 命 令 如 下 :
------------------------------------------------------ AVERAGE COPY TO ARRAY
EXPORT LOCATE SORT BROWSE COUNT INDEX RECALL SUM CALCULATE
DELETE JOIN REPLACE TOTAL CHANGE DISPLAY LABEL REPORT COPY TO
EDIT LIST SCAN ------------------------------------------------------ 但 编 程 人 员 必 须 牢 记 使 用 该 技 术 的 条 件 :
( 1 ) 、 使 用 上 表 的 命 令 必 须 包 含 有 一 个 FOR 参 数 , 且 FOR 参 数 中 的 条 件 运 算 式 必 须 是 一 个 最 优 化 运 算 式 。 而 且 , 要 给 可 加 搜 索 范 围 的 命 令 AVERAGE 、 SUM 、 LOACTE 、 SORT 等 加 上 ALL 或 NEXT 等 。 另 外 , 命 令 中 不 能 有 WHEN 参 数 。
( 2) 、 只 能 处 理 单 一 数 据 库 , 要 想 使 用 Rushmore 技 术 同 时 处 理 多 个 数 据 库 , 必 须 使 用 SQL 的 select 命 令 , 因 为 该 命 令 将 Rushmore 技 术 作 为 优 化 查 询 的 基 础 技 术 , 当 SQL 发 觉 需 要 索 引 时 , 即 自 动 创 建 临 时 索引 文 件 。
( 3 ) 、 在 上 表 的 命 令 中 若 指 定 了 NOOPTIMIZE 参 数 将 不 使
用 Rushmore 技 术 。
( 4 ) 、 在 FOXPRO 标 准 版 中 , 当 数 据 库 记 录 总 数 过 50 万 个 时 , Rushmore 无 效 。
5 、 数 据 库 的 数 据 冗 余 为 了 提 高 应 用 程 序 执 行 的 效 率 , 在 存 储 空 间 允 许 的 条 件 下 , 经 慎 重 考 虑 后 ,可 以 有 选 择 地 保 留 一 些 数 据 冗 余 , 也 可 在 数 据 库 中 保 留 那 些 使 用频 率 特 别 高 、 计 算 费 时 的 结 果 。
6 、 其 它
( 1 ) 、 为 尽 量 避 免 编 程的 重 复 工 作 , 减 少 硬 盘 空 间 的 占 用 量 , 在 系 统 设 计 过 程 中 要 进 行 综 合 分 析 , 提 取 相 似 点 , 编 制 通 用 的 程 序 , 便 于 程 序 重 用 。
( 2 ) 、 对 界 面 的 要 求 为 了 提 高 整 个 网 络 环 境 下 系 统 的 人 机 交 互 性 和 可 操 作 性 , 用 户 界 面 应 具 有 可 靠 性 、 简 单 性 和 立 即 反 馈 特 性 。 . 可 靠 性 : 指 界 面 要 具 有 一 定 的 容 错 能 力 , 能 及 时 正 确 地 给 出 运 行 状 态 指 示 和 出 错 信 息 , 并 引 导 用 户 改 正 错 误 ; . 简 单 性 : 尽 量 减 少 用 户 负 担 , 即 操 作 方 式 简 单 , 容 易 记 忆 , 输 入 / 输 出 容 易 理 解 ; 立 即 反 馈 : 对 用 户 的 应 用 请 求 都 应 在 用 户 心 理 许 可 的 时 间 范 围 内 给 出 响 应 , 即 使 不 能 得 到 结 果 , 也 应 给 出 某 种 信 息 以 缓 和 用 户 等 待 心 理 。 笔 者 采 用 以 上 方 法 , 已 成 功 完 成 了 多 个 网 络 环 境 下 综 合 信 息 管 理 系 统 的 开 发 , 收 到 了 很 好 的 效 果 。
相关图文阅读
频道图文推荐
相关专题
·网络管理实用手册 (18187篇文章)
·网络故障手册 (11039篇文章)
·常用软件加密宝典 (6483篇文章)
·网络组网专题 (9331篇文章)
·网络建设 (10727篇文章)
·杀毒软件专栏 (5878篇文章)
·数据库专栏 (4469篇文章)
·数据库处理专题 (7214篇文章)
·城域网专题 (6668篇文章)
·数据库安全技术专题 (11215篇文章)
·网络故障手册 (11039篇文章)
·常用软件加密宝典 (6483篇文章)
·网络组网专题 (9331篇文章)
·网络建设 (10727篇文章)
·杀毒软件专栏 (5878篇文章)
·数据库专栏 (4469篇文章)
·数据库处理专题 (7214篇文章)
·城域网专题 (6668篇文章)
·数据库安全技术专题 (11215篇文章)
最新技术文档
·用FoxWeb在网上快速发布你的FOXPRO数据库 11-03
·用Foxpro制作Windows输入法码表 11-03
·用FoxPro生成HTML文件 11-03
·下载和上载远程视图数据 10-30
·为Visual FoxPro应用程序增加文件压缩功能 10-30
·为VFP添加循环微调控件类 10-30
·为FoxPro中的弹出式菜单增加自学习功能 10-30
·通过编程运行拨号网络连接 10-29
·谈谈在基于Foxpro的MIS中实现提示、帮助与询问 10-29
·谈谈VFP和SQL SERVER搭配做C/S系统 10-29
·用Foxpro制作Windows输入法码表 11-03
·用FoxPro生成HTML文件 11-03
·下载和上载远程视图数据 10-30
·为Visual FoxPro应用程序增加文件压缩功能 10-30
·为VFP添加循环微调控件类 10-30
·为FoxPro中的弹出式菜单增加自学习功能 10-30
·通过编程运行拨号网络连接 10-29
·谈谈在基于Foxpro的MIS中实现提示、帮助与询问 10-29
·谈谈VFP和SQL SERVER搭配做C/S系统 10-29
站内各频道最新更新文档
站内最新制作专题
|
|||
| ·ACDSEE专题教程-下载使用 ·迅雷专题教程-下载使用 ·Windows XP频道 ·Windows Vista频道 ·Windows 2000频道 ·win2003频道 ·Freebsd频道 ·Oracle频道 |
·Linux频道 ·Windows频道 ·邮件服务器专题 ·协议大全 ·数据恢复指南教程 ·FreeBSD使用教程 ·Linux数据库宝典 ·Linux基础知识 |
||
热门关键字导读
站内频道文章精选
| · 秘密:Vista隐蔽的动态屏保 · 腾讯开发新电子宠物--QQ熊 · 惠普否认2999元PC有价无货 |
· 驱逐Win系统“流氓”文件 · WinXP中获取未使用的IP地址 · 尝试format C:格式化硬盘? |
| · 在DOS下恢复回收站中的文件 · 拯救WinXP崩溃的救命稻草 · Linux系统中超级权限的应用 |
· 搜狗PK谷歌:谁能代言拼... · 昨日重现,一键GHOST轻松.. · 实现Web迅雷在空闲时杀毒 |
| · AVIFile函数制做AVI文件 · VC中链接动态链接库的方法 · 熊猫烧香核心源码(Delphi) |
· DateDiff函数祥解 · JavaScript去除空格的三种 · js效果 图片加载进度实时.. |
| · SQL Server数据库优化方案 · Oracle的初学者入门心得 · JSP连接Mysql数据库 |
· Photoshop为美女做艺术处理 · 用Freehand创建发光字特效 · 设计自己的个性QQ动态表情 |
百度推荐,商机无限
搜索您感兴趣的内容




