• 求助 delphi ADO组件的 CursorLocation属性设置为 clUseServer 用法 [问题点数:20分]


    我有个管理系统,所有ADOQUERY组件的 CursorLocation属性设置为 clUseClient,一直运行正常,我尝试全部设置为clUseServer, 系统不运行了,请大家帮忙。

    我的做法是:
    1. 连接数据库之前,先将ADOConnection的 CursorLocation设置为clUseServer
    2. 调用窗体前,遍历窗体所有ADOQUERY组件,然后将其 CursorLocation设置为clUseServer
       
      ADOQUERY.Open    失败


    CursorLocation属性,指定数据库指针是指向客户端还是服务器端。类型TCursorLocation包含两个值:
    1、cluseServer:使用服务器端的数据库指针,适用于数据量大的数据集。
    2、cluseClient:使用客户端的数据指针的时候,数据将被下载到本地计算机上,并在本地进行操作。
    3、设置CursorLocation:=cluseServer;指定使用服务器端游标,使用服务器端游标的好处是,程序对数据库的修改可以立即反映到服务器,而且,其他用户对数据库的操作也可以马上反映出来,但使用服务器端游标带来了高网络流量, 每一个数据访问都需要通过网络交换数据。     
    4、设置CursorLocation:=cluseClient;指定使用客户端的游标,ADO提供了客户端数据缓存处理机制,因此,ADO利用本地数据缓存以降低网络流量,虽然在数据访问灵活性上有所损失,但却大大提高了通过网络访问数据库的性能。   

    你的软件,使用服务器端的数据库指针,可能使用异步检索多个数据集,造成网络堵死。

  • 相关阅读:
    JavaScript
    多线程
    MySQL进阶一(基础查询)
    英语语法随笔1
    MySQL
    Love Story
    两个数组的交集
    只出现一次的数字
    MybatisPlus
    数组中值加一
  • 原文地址:https://www.cnblogs.com/jijm123/p/10230271.html
Copyright © 2020-2023  润新知