代码之家  ›  专栏  ›  技术社区  ›  NikolaiDante

将连接字符串转换为SQLOLEDB

  •  1
  • NikolaiDante  · 技术社区  · 16 年前

    连接代码:

    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 回复  |  直到 16 年前
        1
  •  3
  •   AnthonyWJones    16 年前

    这里只是一个小问题,但是OLEDB驱动程序处理行数信息的方式不同于ODBC。

    我非常怀疑,如果在存储过程的顶部添加set nocount,问题将消失。

        2
  •  -1
  •   xoxo    16 年前

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