zoukankan      html  css  js  c++  java
  • 一起谈.NET技术,详细述说ADO超时相关问题介绍 狼人:

      在使用连接ADO超时。其混合了函数语言和物件导向程序编制语言,并且完美的适用于编程、算法、技术和探索性开发,因此可以在使用的过程当中感受到趣味性和吸引力。

      使连接ADO超时   
      活动的突然增长可能使数据库服务器变得十分笨拙,大量增加建立数据库连接的时间。结果是,过长的连接延时将降低数据库的性能,用Connection对象的ConnectionTimeout,您可以限制放弃连接尝试并发出错误消息之前应用程序等待的时间。例如,下面的脚本设置ConnectionTimeout属性,在取消连接尝试之前等待20秒:  

    Set cn=Server.CreateObject("ADODB.Connection")
    cn.ConnectionTimeout
    = 20
    cn.Open
    "FILEDSN=MyDatabase.dsn"

      没有人可以同时阅读大量的数据,象下一页或者无数的分页这样的形式我不知道到底有多少人会去看,因此要提高ADO效率,不能用简单的Timeout来控制,应该是全面的。我建议你多多利用检索表单,结果只出现一定数量就可以了。

      并非是很多记录,而是需对大量的数据进行处理后汇总,一条查询语句经优化后仍需30秒以上,ADO超时而ASP的超时在30秒准时报错,Timeout   我曾经也试过但没有任何效果,我是通过ODBC连接到SQL   Server   7.0   再在ASP中用ADO与ODBC   相联,不知这些数据源是否支持该属性,如果不支持,是否还有其它方法,谢谢您的回复!  

      使用强类型DataSet时,你能给DataSet 的XML大纲定义语言(XSD)作注解以确保强类型DataSet正确的处理空(Null)的引用。空值(nullValue)注释使你能用String.Empty这个特定值代替DBNull、保持了空引用、或者产生一个异常。选择其中的哪个依赖于应用程序的内容,默认情况下遇到空引用将产生一个异常。  

      刷新DataSet中的数据 
      如果你希望使用更新后的值从服务器刷新数据集中的值,使用DataAdapter.Fill。如果主键定义在数据表上,DataAdapter.Fill基于主键匹配新行,并把服务器的数据改成已存在的行。被刷新行的RowState设置为Unchanged,即使在刷新前它被修改过。注意如果给数据表定义了主键,DataAdapter.FillADO超时添加新行可能重复主键值。  

      用于在某个时候只返回一页记录的技术之一是建立一个SQL语句,该语句包含一个WHERE和ORDER BY子句,并有TOP判定。这种技术依赖于识别每个唯一行的方法。当导航到下一页的记录时,修改WHERE子句使它包含所有唯一标识比当前页标识大的记录;

      当导航到前面一页时,修改WHERE子句使它包含所有唯一标识比当前页标识小的记录。对于两种查询都只返回记录的TOP页的记录。当导航到前面一页时需要对记录进行降序排列,这将返回查询的末尾页(如果需要可以在显示前对记录进行重新排序)。 

      另一种技术是建立一个SQL语句包含TOP判定和嵌入的SELECT语句。这种技术不ADO超时是基于唯一的识别每行的方法。使用这种技术的第一步是把页面的大小与想得到的页面数量相乘。接着把该数值传递给SQL查询的TOP判定,并按升序排序。接着把这个查询嵌入另一个查询,该查询从嵌入的查询结果中选择TOP页面大小,按降序排列。本质上返回的是嵌入的查询的末尾页面。

  • 相关阅读:
    MySQL的四种事务隔离级别理解(new)
    深入分析ReentrantLock公平锁和非公平锁的区别 (转)
    Ubuntu 安装nginx
    Linux 文件的权限
    java Request 获得用户IP地址
    Maven profile 打包分环境加载不同的资源文件
    JQuery Ajax jsonp
    HttpClient 4.5.3 get和post请求https post
    Jenkins的安装配置
    javascript正则表达式
  • 原文地址:https://www.cnblogs.com/waw/p/2162665.html
Copyright © 2011-2022 走看看