远程服务器客户服务器远程数据传输处理技巧课件.pdfVIP

远程服务器客户服务器远程数据传输处理技巧课件.pdf

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

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档