彻底解决asp里用ADO连接数据库的超时问题

原创 2004年07月11日 11:33:00

      我在做一个c++ builder的管理项目,其中的报表系统用到了TWebBrowser控件,在程序中调用ASP文件,显示统计的报表,实际减轻了做报表的许多麻烦,初期未注意用户数据量的问题,一直没有什么问题,但是随着用户的数据量的急剧增大,已达百万条,特别是在做内联接的查询时,ASP执行数据查询时一直是如下错误:

Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

Active Server Pages

错误 'ASP 0113'

脚本超时

/test/selfcountresult.asp

超过了脚本运行的最长时间。您可以通过指定 Server.ScriptTimeOut 属性值来修改此限制或用 IIS 管理工具来修改它


        为了尽量不更改数据结构(如可以用增加表的方法,或是用存储过程的方法,或是用job的方法先期统计等),所以一直在试验能不能在ASP中解决,先后尝试了许多方法,终于试验成功,我的连接数据库的公用文件是:

<%
?Dim cnn, StrCnn,rs
?Set cnn = Server.CreateObject("ADODB.Connection")
?cnn.ConnectionTimeout=999999? 'ADO连接超时参数,原来设为0,一直都不行,按说明,0应该为无限制时间连接,但改为大数后,就OK
?Cnn.CommandTimeOut=999999??
?Server.ScriptTimeout=99999? 'IIS脚本超时
?session.timeout=1440??????????? 'Session超时
StrCnn= "Driver={SQL Server};Server=192.168.0.68;UID=sa;PWD=sasa;Database=matq2008"
?err.clear
?cnn.Open StrCnn
?if err.number<>0 then
?? response.write "本地数据库连接不正确,请检查数据库连接和参数设置"
?? response.end
?end if

%> Dim cnn, StrCnn,rs
 Set cnn = Server.CreateObject("ADODB.Connection")
 cnn.ConnectionTimeout=999999 'ADO连接超时设为无限大,原为0,不灵
 Cnn.CommandTimeOut=999999 
 Server.ScriptTimeout=99999 
 session.timeout=1440
 StrCnn= "Driver={SQL Server};Server=matq;UID=sa;PWD=sasasa;Database=matq2008"
  err.clear
 cnn.Open StrCnn
 if err.number<>0 then
   response.write "本地数据库连接不正确,请检查数据库连接和参数设置"
   response.end
 end if


        我在我的机器上(iis和数据库均在一台机器上)做了多次的试验,在数据量超过百万条时,均没有什么问题,呵呵,就是统计时机器没什么响应了!当然这种办法可以解决着急的问题,真正的解决问题的方法还是应该优化数据结构比较好一些。

        软件环境:Windows 2000 Professional + sp4,IIS,.net framework1.1,Sql Server 2000个人版

asp.net使用ado连接数据库

///     /// 数据访问操作类     /// chy710.cnblogs.com     ///     public class SqlDAO     {    ...
  • yanabcdef
  • yanabcdef
  • 2017年04月07日 16:18
  • 544

ASP 查询超时解决

本人在利用Sqlserver作全文搜索中, 发现因为待查询表不断增大,ASP查询页面经常会出现ODBC DRIVER: Timeout Expired 错误。查询google和试验良久,终于解决,现总...
  • anho
  • anho
  • 2004年08月31日 21:49
  • 1180

ADO.NET查询数据超时解决方法

 
  • feidaokuan
  • feidaokuan
  • 2007年04月29日 00:25
  • 554

Delphi7 中使用ADO连接数据库基础知识学习

1.一份很好的学习资料。新手必学。 http://download.csdn.net/detail/u010673851/6735141
  • u010673851
  • u010673851
  • 2013年12月18日 16:19
  • 1157

ADO.NET连接时间限制

数据库打开连接的时间限制:Connect Timeout =1          
  • gxtdjh
  • gxtdjh
  • 2011年02月16日 09:18
  • 2222

VB用ADO访问数据库

Public Function test() As IntegerDim cnn As ADODB.ConnectionDim rstC As ADODB.RecordsetSet cnn = New...
  • brave1
  • brave1
  • 2005年06月16日 01:21
  • 1441

是用ADO连接数据库出现8007007f错误的解决办法

昨天下午搞了一下午也没有搞定,该死的8007007f。开始以为是ADO库出现问题就下了MDAC2.7,装了不行,下MDAC2.6装了也不行,MSDN上也没有该错误信息。在网上搜索了一下,出现该错误都是...
  • bwsabc
  • bwsabc
  • 2005年07月29日 11:14
  • 1316

MFC或VC++中利用ADO连接数据库的步骤

1 事先初始化COM库 ::CoInitialize(NULL);   2:定义_ConnectionPtr 对象指针,通过m_pConnection.CreateInstance("ADODB...
  • zhangyulin54321
  • zhangyulin54321
  • 2012年10月09日 21:59
  • 10700

解决ADO通过指定IP地址连接到SQLServer数据库时总是失败问题

这几天在开发一个自己单位用的小平台,B/S结构,需要连接局域网内的SQLServer2005服务器,连接字符串在查了资料后是这样的:       connectString="Provider=...
  • painy
  • painy
  • 2015年03月02日 13:58
  • 3470

20160229 VC++中使用ADO连接数据库

ADO 是目前在Windows环境中比较流行的客户端数据库编程技术。ADO是建立在OLE DB底层技术之上的高级编程接口,因而它兼具有强大的数据处理功能(处理各种不同类型的数据源、分布式的数据处理等...
  • KevinHuang2088
  • KevinHuang2088
  • 2016年02月29日 13:48
  • 2085
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:彻底解决asp里用ADO连接数据库的超时问题
举报原因:
原因补充:

(最多只允许输入30个字)