【问题标题】:Object non close IIS对象非关闭 IIS
【发布时间】:2015-06-13 10:11:56
【问题描述】:

我有一个网站,我想在 IIS Windows XP 上运行,但是当我尝试连接时在登录页面上我从文件 (Access.asp) 中收到此错误

这是文件的代码:

<%@ Language=VBScript %>
<!--#include file="PerformClear.asp"-->
<!--#include file="expire.vbs"-->
<%'Déclarations de toutes les variables de cette page
dim login, password, numu
dim sql, rs , conn
'Response.Redirect("PleaseWait.htm")
login = Trim(Replace(Request.Form ("login"),"'","''"))
password = Trim(Replace(Request.Form ("password"),"'","''"))
'Response.write (nom)
if (login<>"") and (password<>"") then
SQL = "SELECT * FROM Cadre WHERE Utilisateur='" & login & "' & pw='" &            password & "'"
Set rs = Session("conn").Execute(SQL)
If not rs.eof then 'alors l'utilisateur est bien identifié'
    session("nom")=rs("utilisateur") 'pour se rappeler de l'utilisateur 
    session("num")=rs("code_cadre") 
    numu=rs("code_cadre")
    rs.Close
    set rs=nothing
    Response.Redirect "."
else
    rs.Close
    set rs=nothing
    Response.Redirect "erreur.asp?Code=1"
end if  
rs.close
set rs = nothing
else
Response.Redirect("erreur.asp?Code=1")
end if
%>  

我得到的错误是:

ADODB.Connection 错误“800a0e78”操作失败且未授权 因为对象已关闭

请帮助我迷路了。

【问题讨论】:

  • 所以?没有人知道答案吗?

标签: iis vbscript asp-classic vb6


【解决方案1】:

您不应该将 ADODB 连接存储在 Session 对象中,这会强制执行线程亲和,这是有害的并且非常低效。

只要您使用相同的连接字符串,它将自动汇集,在页面中需要它们时连接和关闭新连接。

另外,您在此处使用 & 符号而不是 AND

"SELECT * FROM Cadre WHERE Utilisateur='" & login & "' & pw='" & password & "'"

改为:

"SELECT * FROM Cadre WHERE Utilisateur='" & login & "' AND pw='" & password & "'"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-25
    • 1970-01-01
    • 2010-10-04
    • 2011-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多