欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SQL 超时解决方案 有时并不是设置问题

程序员文章站 2023-12-10 15:41:52
server.scrīpttimeout,默认值是90秒. 要增大它,在你的asp文件中加一句,如下: server.scrīpttimeout=999, 将页面超时设为9...
server.scrīpttimeout,默认值是90秒.
要增大它,在你的asp文件中加一句,如下:
server.scrīpttimeout=999,
将页面超时设为999秒.

最初我只设置server.scrīpttimeout,
但仍会出现timeout错误,无论它的值设成都多大.
后在社区里看到一帖子,提到commandtimeout属性,
于是查看option pack文档,果然还有timeout.

connection对象和command对象都有个commandtimeout属性,
默认是30秒,如果你有一个耗时的查询或数据处理,
很容易就超时了.要增大它,也很容易,创建对象后,
设置它的属性,如下:
con.commandtimeout = 999,
设为999秒,其中con是一connection对象.
如设为零,将无限等待,没有这一timeout限制.

command对象不会继承connection的这一属性,
所以对可能超时的command也要单独设置commandtimeout属性.

最后ie也有个超时设置,5分钟从服务器得不到数据,也超时.
这种情况可能很少碰到,
但当我把一10多万查询的结果保存为mdb文件时,
就遇到了.(至于保存的方法,请参看精华区中的一篇帖子.)
解决方法:(原文请参照微软kb中的q181050)

之前在做ic交易网的时候因数据太大了,超1000万,加了内存解决
1. ie要4.01 sp1以上版本.
2. 在注册表中hkey_current_usersoftwaremicrosoft
windowscurrentversioninternet settings中
加一dword类型receivetimeout,值设为比如8个9.
3. restart computer.