【发布时间】:2012-11-30 17:55:10
【问题描述】:
在我的经典 asp 应用程序中,我尝试生成网络报告并收到以下错误消息:
用于 ODBC 驱动程序的 Microsoft OLE DB 提供程序错误“80040e14” [Microsoft][ODBC SQL Server 驱动程序][SQL Server]第 1 行:'=' 附近的语法不正确。 /rpts/displayreporthtml.asp,第 13 行
上述错误消息仅适用于某些情况,例如记录数超过 5000 且记录数不固定时,我的意思是我收到此错误的记录数为 5432、5442 等。
在 Global.asa
Dim LTConn
set LTConn=Server.CreateObject("adodb.connection")
LTConn.CommandTimeout=5000
LTConn.ConnectionTimeout=5000
LTConn.Open "DSN=xx;uid=sa;pwd=password"
在相应的页面中
myquery = "select k.* from ("&myquery&")k where " & request("filterText")
set rs=DBConn.execute (myquery)
请指导我解决问题。
谢谢,
【问题讨论】:
-
发布一些代码。这对理解问题很有用
-
我们可以看到正在发送到数据库的 SQL 命令吗?
-
您的 SQL 中有问题。执行
Response.Write(myquery)以查看实际的 SQL(而不是执行它),如果您仍然无法确定问题出在此处,我们将尝试进一步指导您。请在您执行此操作后使用@进行通知,否则我们将不会收到任何通知。 -
永远不要相信用户输入...这段代码很糟糕
request("filterText") -
仅供参考,查询运行良好,它在后端提供了大约 24K 条记录。我注意到任何类型的查询在 5K 记录后出现分页符。
标签: asp-classic