【问题标题】:oledb error '80040e14' whit [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near '='oledb 错误 '80040e14' whit [Microsoft] [ODBC SQL Server Driver] [SQL Server] 第 1 行:'=' 附近的语法不正确
【发布时间】: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


【解决方案1】:

在您的 global.asa 中,您创建一个名为 LTConn 的连接字符串 在您的检索页面中,您似乎调用了名称为DBConn 的连接。 您的查询不应该调用LTConn 而不是BDConn吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-26
    • 2021-06-03
    • 1970-01-01
    相关资源
    最近更新 更多