- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
客 户 服 务 器 远 程 数 据 传 输 处 理 技 巧
客 户/ 服 务 器 远 程 数 据 传 输 处 理 技 巧---- 在 实 际 的MIS 系 统 中, 远 程 数 据 库 访 问 大 多 通 过Modem 连 接,出 于 通 信 费 用 及 速 度 方 面 的 考 虑, 往 往 采 用 先 将 数 据 保 存 在本 地, 然 后 集 中 传 送 到 远 端 的 办 法。 远 程 数 据 传 送 可 以 有 多种 方 案, 最 常 见 的 是 先 将 要 传 送 的 数 据 打 包 成 文 件, 在 利 用文 件 传 输 形 式 传 送 到 目 的 地, 在 目 的 地 对 数 据 恢 复 后 添 加 到本 地 数 据 库 中。 这 种 方 法 普 遍 地 应 用 于 证 券 交 易 系 统, 其 优点 是 速 度 快, 并 且 可 事 先 对 数 据 压 缩, 更 大 限 度 地 节 约 传 送时 间 及 费 用。 但 这 种 方 案 也 有 其 不 足 之 处: 由 于 利 用 文 件 传输 机 制, 无 法 利 用 数 据 库 本 身 的 特 性 如 完 整 性 约 束、 数 据 一致 性、 回 滚 机 制 等, 因 此 在 比 较 复 杂 的 数 据 库 系 统 中 较 少 采用。 另 一 种 方 法 是 直 接 将 两 端 处 理 成 客 户/ 服 务 器 模 式, 将数 据 传 送 看 成 是 向Server 提 交 数 据。 由 于 这 种 方 案 充 分 利 用 了数 据 库 服 务 器 的 特 性, 并 且 实 际 操 作 基 本 与 局 域 网 方 式 一致, 因 此 本 文 将 详 细 介绍 这 种 方 案。 另 外 本 文 的 部 分 内 容 是基 于Delphi/CBuilder 的。---- 由 于 传 输 速 度 的 原 因, 当 传 送 大 量 数 据 时 绝 对 不 赞 成 逐条 记 录 地 向 服 务 器 提 交 数 据, 而 应 批 量 地 向Server 提 交,Delphi/CBuilder 中 提 供 了 一 个TBatchMove 控 件 专 门 用 于 批 量 传 送 数据, 利 用 它 可 极 大 减 少 网 络 负 担, 提 高 传 送 速 度。 遗 憾 的 是,TBatchMove 控 件 只 提 供 了 简 单 的 错 误 控 制 功 能, 没 有 提 供 显 示传 送 进 度、 用 户 终 止 传 送 等 重 要 功 能。 然 而TBatchMove 所 依 赖 的BDE 却 提 供 了 一 种 回 调 机 制 可 以 完 成 上 述 两 个 功 能。 所 谓回 调 过 程 是 这 样 的: 当BDE 执 行 某 种 操 作 时, 比 如 从 一 张 表 向另 一 张 表 拷 贝 大 量 数 据 的 过 程 中, 每 过 一 段 时 间( 如 需 要 显示 拷 贝 进 度 时),BDE 会 调 用 一 段 你 自 己 写 的 函 数( 回 调 函数), 以 帮 助 你 更 完 全 地 控 制 程 序。 这 种 做 法 有 点 想DLPHI 中的Event( 事 件) 及 事 件 处 理 函 数-- 某 个 具 体 的 操 作 动 作 会 让VCL触 发 某 个 事 件, 从 而 调 用 一 段 你 写 好 的 事 件 处 理 函 数, 不 同的 事 件 会 触 发 不 同 的 处 理 函 数。---- 为 了 让BDE 能 正 确 地 与 你 的 函 数 协 同 工 作, 你 必 须 事 先 注册 你 的 函 数, 让BDE 知 道 某 个 事 件 发 生 时 应 调 用( 回 调) 你 的某 段 代 码。BDE 提 供 了 一 个DbiRegisterCallBack 注 册 函 数, 不 幸 的是,BDE 的 联 机 帮 助 中 的 说 明 不 能 适 合 于Delphi/CBuilder, 按 照 该说 明 编 写 的 程 序 根 本 不 能 通 过 编 译 ! 笔 者 通 过 实 践 找 到 了正 确 使 用BDE 回 调 函 数 的 方 法, 下 面 将 详 细 介绍 该 机 制 的 使用。 BDE 回 调 机 制 包 含 以 下 几 个 步 骤:---- 1) 按BDE 的 预 定 格 式 编 写 你 的 回 调 函 数---- 2) 调 用DbiRegisterCallBack 函 数 注 册 你 的 回 调 函 数, 这 样 当你 执 行 相 关 数 据 库 操 作 时 就 自 然 地 触 发 你 的 回 调 函 数。---- 3) 执 行 相 关 数 据 库 操 作, 比 如BatchMove1- Exectue();---- 4) 注 销 该 回 调 函 数---- 其 中 最 关 键 的 是 正
文档评论(0)