0

我已经搜索了高低以解决这个问题,但似乎无法自行解决。我是经典 ASP 的新手,但我是很长时间的 PhP 开发人员。

我越来越

ADODB.Recordset 错误 '800a0e78'
对象关闭时不允许操作。
/sdd/fx_mlogin.asp,第 54 行

在登录我正在处理的网站时。其引用的行是:

Set rs = cmd.Execute
If RS.BOF or RS.EOF then 

更多相关代码:

Set cn = Server.CreateObject("ADODB.Connection")
cn.Open MM_ap_connect_STRING
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = cn
cmd.CommandText = "sd_member_login " & "'" & guid & "', " & """" & trim(user) & """, " & "'" & trim(pw) & "', " & "'" & uip & "', " & "'" & uagent & "', " & "'" & logintrack & "'"
Set rs = cmd.Execute
If rs.BOF or rs.EOF then 

令人惊讶的是,该网站以前工作过,我们正在移动主机。连接显然有效,但我怀疑它仍然是问题。我的连接字符串是

MM_ap_connect_STRING =  "Provider=SQLOLEDB;Data source=sql2103.shared-servers.com,1087;Initial catalog=database;User Id=username;Password=password;"

但很明显,填写了用户名、密码和数据库字段。我还连接到 SQL 2005 数据库。任何帮助,将不胜感激!如果我需要提供更多信息,请告诉我。

4

2 回答 2

1

尝试添加 T-SQL 行:

 SET NOCOUNT ON

到正在执行的 SQL 的顶部。

于 2012-08-21T12:56:06.053 回答
0

我有这个确切的问题。对我来说,答案是我的存储过程有一个 DBO 的所有者。我以前数据库的用户设置为 DBO。在我们的目标数据库上,有一个不同的 DBO,这导致了执行权限问题。刚刚将我的数据库用户更改为 DBO,它现在正在工作。希望有帮助。

于 2013-03-07T18:10:52.113 回答