问一个超奇怪的问题,很郁闷,在线等,寻找原因

zxh2600 2005-08-22 03:08:21
我有一段asp代码,在本地的iis上可以正常跑起来,但在美国那边的服务器就跑不起来,是个死循环错误,解了一个上午,没有找到原因,请教达人。
代码
<!--#include file="DBCONN.ASP"-->
<%
sql="select * from Data where commodity='TY' and put_call='Put'"
set rs=server.createobject("adodb.recordset")
rs.Open sql,conn,1,1
%>
html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head>
<body bgcolor="#eeeeee">
<hr width="90%">
<table width="90%" border="0" align="center" bordercolorlight="#5D7488" bordercolordark="#FFFFFF">

<%do while not rs.eof%>
<tr>
<td> 111111111111111111111111111111111111
</td>

</tr>
<%
rs.movenext
loop
%>
</table>
</td>
</tr>
</table>
</body>
</html>
<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>

dbconn.asp

<%
dim conn
dim connstr

on error resume next
connstr="DBQ="+server.mappath("dd.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
%>

服务器跑的时候报错为:
Active Server Pages error 'ASP 0113'

Script timed out

/mark/LgCk.asp

The maximum amount of time for a script to execute was exceeded. You can change this limit by specifying a new value for the property Server.ScriptTimeout or by changing the value in the IIS administration tools.


数据库在同一级目录中

把do loop去掉,服务器就可以运行了,我试图去掉循环加一句得到response.write rs.recordCount打印出记录总数,但在服务器上就是不执行这句话,也不报错。
<!--#include file="DBCONN.ASP"-->
<%
sql="select * from Data where commodity='TY' and put_call='Put'"
set rs=server.createobject("adodb.recordset")
rs.Open sql,conn,1,1
%>
html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head>
<body bgcolor="#eeeeee">
<hr width="90%">
<table width="90%" border="0" align="center" bordercolorlight="#5D7488" bordercolordark="#FFFFFF">

<tr>
<td><%response.write rs.recordCount%> </td>

</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
...全文
100 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lishaoky 2005-08-22
  • 打赏
  • 举报
回复
数据库上传问题吧,是不是0(K),把文件重新上传一次嘛
zxh2600 2005-08-22
  • 打赏
  • 举报
回复
1.确认你的数据库dd.mdb上传到服务器的mark文件夹下
数据库已经放到服务器上了
2。确认服务器支持access
我有个另外的程序也是跑在该服务器上,同样的代码,不同的文件夹下的两个程序,前者可以顺利的跑,后面的这个程序就出错了。
3。如果不行,换用 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;User Id=admin;Password=;" 这种类型的连接字符串
如果应用这种连接字符串Data Source=\somepath\mydb.mdb要写绝对路径吧,难道vb里的app.path在这里也能用,请教
wanghui0380 2005-08-22
  • 打赏
  • 举报
回复
1.确认你的数据库dd.mdb上传到服务器的mark文件夹下
2。确认服务器支持access
3。如果不行,换用 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;User Id=admin;Password=;" 这种类型的连接字符串
zxh2600 2005-08-22
  • 打赏
  • 举报
回复
找到原因了,是数据库连接错误,他提示我
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'

ODBC driver does not support the requested properties.

/mark/LgCk.asp, line 5

<!--#include file="DBCONN.ASP"-->
<%
sql="select * from Data where commodity='TY' and put_call='Put'"
set rs=server.createobject("adodb.recordset")
rs.Open sql,conn,1,1
%>
第5行代码: rs.Open sql,conn,1,1
这个代码我在本地是可以运行的,在请教下各位了
dishui 2005-08-22
  • 打赏
  • 举报
回复
<html>少了括號
另外response.write sql 看一下你的语句,把显示的内容复制到sql里运行看看,是否有记录
wanghui0380 2005-08-22
  • 打赏
  • 举报
回复
这是典型rs没找到记录或连接出错,而你有加了on error resume next的结果
建议去掉on error resume next然后调试

zxh2600 2005-08-22
  • 打赏
  • 举报
回复
如何清空缓存和重新引用加载呢,能不能麻烦您给出具体点的步骤,我把文件放到服务器根目录也是一样的结果(注,在本地的iis上是很好用的,在服务器上就是不行)
tommorow1982 2005-08-22
  • 打赏
  • 举报
回复
这种问题确实比较奇怪,推荐你把缓存清空,把临时目录清一下,重新引用加载,然后再试。
我用.net的时候也会出现这种奇怪问题……

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧