alter PROCEDURE StringToBase64(@String VARCHAR(4000), @Base64 VARCHAR(4000) OUTPUT) AS
DECLARE @ByteArray INT, @OLEResult INT
DECLARE @src varchar(255), @desc varchar(255)
EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.ByteArray', @ByteArray OUT, 4
IF @OLEResult <> 0
BEGIN
EXEC sp_OAGetErrorInfo @ByteArray, @src OUT, @desc OUT
raiserror('Error Creating COM Component1 0x%x, %s, %s',16,1, @OLEResult, @src, @desc)
RETURN
END
--Set the string.
EXECUTE @OLEResult = sp_OASetProperty @ByteArray, 'String', @String
IF @OLEResult <> 0
BEGIN
EXEC sp_OAGetErrorInfo @String, @src OUT, @desc OUT
raiserror('Error Creating COM Component2 0x%x, %s, %s',16,1, @OLEResult, @src, @desc)
RETURN
END
--Get base64
EXECUTE @OLEResult = sp_OAGetProperty @ByteArray, 'Base64', @Base64 OUTPUT
IF @OLEResult <> 0
BEGIN
EXEC sp_OAGetErrorInfo @Base64, @src OUT, @desc OUT
raiserror('Error Creating COM Component 0x%x3, %s, %s',16,1, @OLEResult, @src, @desc)
RETURN
END
EXECUTE @OLEResult = sp_OADestroy @ByteArray