我在执行.vbs文件时调用了存储过程。
function getJobHistory(byval ServerName)
'****************************
'* Connecting to server
dim rsArray
msgbox(ServerName)
cn.open "Provider=SQLOLEDB.1;Data Source=" & ServerName & ";Integrated Security=SSPI"
cmd.activeconnection =cn
MsgBox(cn.State)
If Err.Number <> 0 Then
Call HandleErrors(Err.Number, Err.Description, "Error Connecting To Server " & ServerName & "")
end if
'cmd.commandtext = "SELECT * FROM SYS.SYSDATABASES"
'query1="SELECT * FROM SYS.SYSDATABASES"
sql = "exec UMRDB..sp_Getobsoletebackupfile 0,0,0,'','','','',0,'','','',0"
mobjwritelog.Write(query)
'query=query & " insert into UMRDB..FileInfo select * from #fileinfo"
'query=query & " drop table #disk drop table #file"
'cmd.commandtext = query
'rs.Open query,cn
set rs=cn.Execute(sql)
'MsgBox(rs.RecordCount)
do while not rs.BOF and not rs.EOF
rsArray=rs.GetRows()
nr=UBound(rsArray,2)
MsgBox(nr)
rs.MoveNext
loop
rs.Close
' end if
end function
'***********************
它给我的错误如下
Error: Operation is not allowed when the object is closed.
Code: 800A0E78
Source: ADODB.Recordset
在查询分析器中执行相同的存储过程。执行过程需要17秒。当我在.vbs script.or asp页面上执行时会发生什么。
答案 0 :(得分:0)
看起来你没有打开记录集,因为包含rs.open的行被注释掉了
编辑:实际上看得更近似乎特定的行引用了另一个查询。但是,在您可以使用它之前,仍需要打开记录集。