I am getting errors.
"Error Occurred Calling Object: ODSOLE Extended Procedure
sp_OADestroy usage: ObjPointerToBeDestroyed int IN."
This is what I did
Step1
'created a DLL for the following function
Public FirstNumber As Variant
Public SecondNumber As Variant
Function AdditionFunction(FirstNumber, SecondNumber)
AdditionFunction = FirstNumber + SecondNumber
Print AdditionFunction
End Function
Step2
Registered the Dll
regsvr32 d:\mydll\additionfunction.dll
Step3
'Execute this script
DECLARE @cInputValue1 int
DECLARE @cInputValue2 int
DECLARE @cOutputValue int
DECLARE @objDLL int
declare @Hresult int
DECLARE @ErrorSource varchar (255)
DECLARE @ErrorDesc varchar (255)
SET @cInputValue1 = 5
SET @cInputValue2 = 6
EXECUTE @Hresult =sp_OACreate "additionFunction", @objDLL OUTPUT
-- objDLL holds a handle to your DLL
EXECUTE @Hresult =sp_OAMethod @objDLL, "additionfunction",NULL,@cInputValue1 ,@cInputValue2, @cOutputValue OUTPUT
print @cOutputValue
-- Don't forget to release it when you have finished
EXECUTE @Hresult =sp_OADestroy @objDLL
print @objDLL
IF @Hresult <> 0
BEGIN
EXEC sp_OAGetErrorInfo @objDLL , @ErrorSource OUT, @ErrorDesc OUT
PRINT 'Error Occurred Calling Object: ' + @ErrorSource + ' ' + @ErrorDesc
RETURN
END