|
Hola, Tengo una aplicación en VB 6 y Ado 2.7. Esta aplicación ejecuta un Procedimiento Almacenado de SQL Server 2000 en un Servidor (con Ado 2.6) y el mismo me devuelve como un parámetro del tipo OUTPUT la cantidad de filas afectadas en los procesos internos del SP. En mi ambiente de desarrollo todo funciona OK y puede recuperar el valor del Parámetro, pero en Producción no. El método no falla, solo que no recupera el valor del Parámetro. Aqui les paso el código de un ejemplo simplificado.. Procedimiento Almacenado CREATE PROCEDURE spPruebaOutput @CANT_ASIENTOS INT = 0 OUTPUT AS DECLARE @INS_1 INT --SET @CANT_ASIENTOS = 1157 SET @INS_1 = 5 --SELECT GETDATE() as Hoy CREATE TABLE #TABLA1 ( campo1 varchar(20) ) begin transaction insert into #TABLA1 values('Diego Campos') set @CANT_ASIENTOS = @@ROWCOUNT select * from #TABLA1 commit transaction GO Método VB Private Sub Command1_Click() Dim Result As Integer Dim CantReg As Integer Set Comando = New ADODB.Command Set Rs = New ADODB.Recordset CantReg = 0 With Comando .ActiveConnection = CN .CommandType = adCmdStoredProc .CommandText = "spPruebaOutput" .NamedParameters = True .Parameters.Append .CreateParameter("@CANT_ASIENTOS", adInteger, adParamOutput) .CommandTimeout = 300 '' 5 minutos End With Comando.Execute Result = Comando.Parameters("@CANT_ASIENTOS").Value MsgBox "Valor Recuperado: " & Result Set Comando = Nothing End Sub Alguien sabe que puede ser ?? Se puede deber a las distintas versiones del ADO ?? Gracias. --
|

