This short sample lets you convert a Base64 string data to a decoded String or Binary data directly in SQL stored procedure (SP written in MS T-SQL). The data are passed as a Base64 string, then you can get the original data as a binary/image data type or converted to unicode string using specified charset/code page. The data are converted by put_Base64 property.
See also ByteArray, T-SQL - base64 encoder for Microsoft SQL
| ByteArray, T-SQL - base64 decoder for Microsoft SQL | |
|---|---|
/* Base64 decoder fot T-SQL */ CREATE PROCEDURE Base64ToString(@Base64 VARCHAR(4000), @String VARCHAR(4000) OUTPUT) AS DECLARE @ByteArray INT, @OLEResult INT EXECUTE @OLEResult = sp_OACreate 'ScriptUtils.ByteArray', @ByteArray OUT IF @OLEResult <> 0 PRINT 'ScriptUtils.ByteArray problem' --Set a charset if needed. --execute @OLEResult = sp_OASetProperty @ByteArray, 'CharSet', "windows-1250" --IF @OLEResult <> 0 PRINT 'CharSet problem' --Set the base64 string EXECUTE @OLEResult = sp_OASetProperty @ByteArray, 'Base64', @Base64 IF @OLEResult <> 0 PRINT 'Base64 problem' --Get a string data. EXECUTE @OLEResult = sp_OAGetProperty @ByteArray, 'String', @String OUTPUT IF @OLEResult <> 0 PRINT 'String problem' --Or you can get the data as binary/image. --Declare @Binary varbinary(4000) --Declare @Binary image --execute @OLEResult = sp_OAGetProperty @ByteArray, 'ByteArray', @Binary OUTPUT --IF @OLEResult <> 0 PRINT 'ByteArray problem' EXECUTE @OLEResult = sp_OADestroy @ByteArray | |
Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.
© 1996 - 2009 Antonin Foller, Motobit Software | About, Contacts | e-mail: info@pstruh.cz