tiempo sua permitida operación operacion objeto está esta error ejecucion comercial cerrado 800a0e78 sql database vbscript ado

sql - sua - error 3704 en tiempo de ejecucion vb6



VBscript y ADO-3704 La operación no está permitida cuando el objeto está cerrado (3)

Esta función inserta una fila en una base de datos SQL y necesita devolver el número de identidad creado:

Function WriteDatabase(backupTypeID, numImages, folderSize, success, errorMessage, strLogFileName) On Error Resume Next err.clear Set objConnection = CreateObject("ADODB.Connection") Set objRecordSet = CreateObject("ADODB.Recordset") objConnection.Open "Provider=SQLOLEDB;Data Source=x.x.x.x;Initial Catalog=DB;User ID=sa;Password=xxxxxx" sqlquery = "INSERT INTO tblImageCopies (BackupCopyDate, BackupCopyTypeID, NumImages, ImagesFolderSize, Success, ErrorMessage) VALUES (GETDATE(), " & backupTypeID & ", " & numImages & ", " & folderSize & ", " & success & ", " & errorMessage & "); SELECT scope_identity() AS ImageCopyID;" objRecordSet.Open sqlquery,objConnection objRecordSet.MoveFirst WriteDatabase = objRecordSet("ImageCopyID") objRecordSet.Close objConnection.Close If err.number <> 0 Then WriteLog "Error writing to the EHN database - " & err.number & " " & err.description, strLogFileName End If End Function

Inserta con éxito la fila, pero aparece el mensaje de error ''3704 La operación no está permitida cuando el objeto está cerrado.'' cuando intenta devolver el número de identidad en el conjunto de registros. Cuando ejecuto esta consulta sql directamente en el servidor, funciona. ¿Alguien capaz de ayudar?


Hago lo mismo (muy parecido de todos modos). Creo que hay dos conjuntos de resultados que regresan, uno para INSERT y otro para SELECT. Intenta llamar a objRecordSet.NextRecordset ().


Use "SET NOCOUNT ON" al comienzo de su consulta


Recibí el error exacto y logré rastrearlo hasta una declaración PRINT que me quedaba en mi procedimiento almacenado de SQL Server. Una vez que comencé la declaración PRINT, el conjunto de registros devolvió los resultados sin error.