连接代码:
set conx = Server.CreateObject("ADODB.connection")
conx.Open Application("connectionString")
set cmdx = server.CreateObject("ADODB.command")
cmdx.ActiveConnection = conx
cmdx.CommandText = "dbo.sproc"
cmdx.CommandType = &H0004
set rsx = Server.CreateObject("ADODB.Recordset")
rsx.open cmdx
resarray = rsx.getrows
此连接字符串有效:
connectionString = "DRIVER=SQL Server;UID=User;Address=000.000.000.000;Network=DBMSSOCN;DATABASE=Database;SERVER=server;Password=password;"
这不......
connectionString = "Provider=SQLOLEDB;Data Source=000.000.000.000;UID=User;Address=000.000.000.000;Network=DBMSSOCN;DATABASE=Database;SERVER=server;Password=password;"
我得到的错误是:
ADODB.Recordset error '800a0e78'
Operation is not allowed when the object is closed.
我错过了什么?
答案 0 :(得分:3)
这里只是一个平底船,但是OLEDB驱动程序处理行计数信息的方式与ODBC不同。
我非常怀疑如果你在存储过程的顶部添加SET NOCOUNT ON,问题就会消失。
答案 1 :(得分:-1)
听起来像数据库中的权限问题!