SQL Server
SQL Server
Decode from Binary Encoding and Append String
Demonstrates how to decode from a binary encoding (base64, hex, url, etc.) and then append the decoded string to a Chilkat StringBuilder object.Note: This example uses the new DecodeAndAppend method added in Chilkat v9.5.0.87.
Chilkat SQL Server Downloads
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
-- Important: Do not use nvarchar(max). See the warning about using nvarchar(max).
DECLARE @sTmp0 nvarchar(4000)
DECLARE @success int
SELECT @success = 0
-- We have the string "MÆRSK" in two forms:
-- This is the URL encoding of the windows-1252 representation.
DECLARE @nameWindows1252UrlEncoded nvarchar(4000)
SELECT @nameWindows1252UrlEncoded = 'M%C6RSK'
-- This is the URL encoding of the utf-8 representation.
DECLARE @nameUtf8UrlEncoded nvarchar(4000)
SELECT @nameUtf8UrlEncoded = 'M%C3%86RSK'
-- Note that the result of loading a string into a string object
-- is the same if we correctly specify the underlying charset encoding.
-- In the above example, we have the same string, but in different charset encodings
-- subsequently URL encoded.
DECLARE @sb1 int
EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sb1 OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
EXEC sp_OAMethod @sb1, 'DecodeAndAppend', @success OUT, @nameWindows1252UrlEncoded, 'url', 'windows-1252'
DECLARE @sb2 int
EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sb2 OUT
EXEC sp_OAMethod @sb2, 'DecodeAndAppend', @success OUT, @nameUtf8UrlEncoded, 'url', 'utf-8'
-- sb1 and sb2 both hold the same string.
DECLARE @bEqual int
EXEC sp_OAMethod @sb1, 'ContentsEqualSb', @bEqual OUT, @sb2, 1
PRINT 'bEqual = ' + @bEqual
-- We can see the string is "MÆRSK" in both cases.
EXEC sp_OAMethod @sb1, 'GetAsString', @sTmp0 OUT
PRINT @sTmp0
EXEC sp_OAMethod @sb2, 'GetAsString', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @sb1
EXEC @hr = sp_OADestroy @sb2
END
GO