Object &引用;“对象已打开”;大型结果集的错误?

Object &引用;“对象已打开”;大型结果集的错误?,object,vb6,was,Object,Vb6,Was,我在执行包含大量数据的存储过程时遇到错误“Object was open”。此过程从SQL 2005上的VB 6.00应用程序运行。在SQL中运行脚本时没有问题 rs.Open cmd, Options:=adCmdStoredProc 重要提示:此错误仅发生在大量数据的情况下。阈值级别约为250000行数据。如果检索的数据超过该数量,则会发生错误。如果更少,那么就没有问题 任何建议都会很好 谢谢尝试使用其他光标类型。在连接对象上,尝试从adUseClient切换到adUseServer,反之

我在执行包含大量数据的存储过程时遇到错误“Object was open”。此过程从SQL 2005上的VB 6.00应用程序运行。在SQL中运行脚本时没有问题

rs.Open cmd, Options:=adCmdStoredProc
重要提示:此错误仅发生在大量数据的情况下。阈值级别约为250000行数据。如果检索的数据超过该数量,则会发生错误。如果更少,那么就没有问题

任何建议都会很好


谢谢

尝试使用其他光标类型。在连接对象上,尝试从
adUseClient
切换到
adUseServer
,反之亦然

rs.Open cmd, , adOpenStatic, adLockReadOnly, Options:=adCmdStoredProc

尝试使用其他光标类型。在连接对象上,尝试从
adUseClient
切换到
adUseServer
,反之亦然

rs.Open cmd, , adOpenStatic, adLockReadOnly, Options:=adCmdStoredProc

尝试使用此模块,它可以帮助您避免使用SQL过程的记录集

注意请使用您自己的连接字符串替换我的连接字符串。 我的代码是为access数据库设计的,数据库文件以“.mdb”结尾

选项显式
'//////////////////////////////////////////////////////////////////////////////
“@”摘要
”“需要吗
---类别:CHashTable.cls
'---导入:Microsoft ActiveX数据对象2.8库
“@@reference
“@@license
"阳光软件
“@@create
“@@modify
'--20160812:创建此类
'//////////////////////////////////////////////////////////////////////////////
'//////////////////////////////////////////////////////////////////////////////
'//
“//公开声明
'//
'//////////////////////////////////////////////////////////////////////////////
'------------------------------------------------------------------------------
'接口
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
“警察
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
'公共数据类型
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
'公共变量
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
"公众空气污染指数
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
'事件声明
'------------------------------------------------------------------------------
'//////////////////////////////////////////////////////////////////////////////
'//
“//私有声明
'//
'//////////////////////////////////////////////////////////////////////////////
'------------------------------------------------------------------------------
“一等兵
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
'私有数据类型
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
'私有变量
'------------------------------------------------------------------------------
作为ADODB.连接的专用m_连接
私有m_命令作为ADODB.Command
私有m_字符串作为字符串
私有m_文件路径作为字符串
私有m_自动连接为布尔值
'------------------------------------------------------------------------------
'属性变量
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
“私人API
'------------------------------------------------------------------------------
'//////////////////////////////////////////////////////////////////////////////
'//
“//类
'//
'//////////////////////////////////////////////////////////////////////////////
'------------------------------------------------------------------------------
“初始化
'------------------------------------------------------------------------------
私有子类_Initialize()
m_ConnString=“”
m_FilePath=“”
m_自动连接=真
端接头
'------------------------------------------------------------------------------
“终止
'------------------------------------------------------------------------------
私有子类_Terminate()
设置m_Conn=无
设置m_命令=无
端接头
'//////////////////////////////////////////////////////////////////////////////
'//
'//事件
'//
'//////////////////////////////////////////////////////////////////////////////
'//////////////////////////////////////////////////////////////////////////////
'//
“//私有财产
'//
'//////////////////////////////////////////////////////////////////////////////
'//////////////////////////////////////////////////////////////////////////////
'//
'//私有方法
'//
'//////////////////////////////////////////////////////////////////////////////
私有子OpenConn()
设置m_Conn=新的ADODB连接
m_Conn.CursorLocation=adUseClient
m_Conn.开放连接字符串
端接头
私人分公司()
m_康涅狄格州关闭
设置m_Conn=无
端接头
私有函数m_撇号count(ByVal SQL作为字符串)的长度
'计数''
m_撇号计数=Len(SQL)-Len(替换为(SQL,“,”)
端函数
私有函数m_ProcessNameParams(mSQL作为字符串,mDic作为CHashTable,mParams()作为变量)作为布尔值
Dim mNewSql作为字符串,mWord作为字符串,mFieldName作为字符串
我算的时间长,我算的时间长,我算的时间长
Dim mBeginParam作为布尔值
如果m_撇号计数(mSQL)Mod 2=