1

连接代码:

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. 

我错过了什么?

4

2 回答 2

3

这里只是一个平底船,但 OLEDB 驱动程序处理行计数信息的方式与 ODBC 不同。

我非常怀疑如果您在存储过程的顶部添加 SET NOCOUNT ON,问题就会消失。

于 2008-12-09T11:17:31.397 回答
-1

听起来像是数据库中的权限问题!

于 2008-12-08T10:54:14.080 回答