将连接字符串转换为SQLOLEDB

时间:2008-12-08 10:01:19

标签: asp-classic ado

连接代码:

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. 

我错过了什么?

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:-1)

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