SQL Server Stored Procedure Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

SQL Server
Stored Procedure Examples

Quick Start
Encryption
File Access
IMAP
POP3
SMTP
Email Object
DKIM / DomainKey
FTP
HTML Conversion
HTTP
MHT
MIME
NTLM
RSA
Diffie-Hellman
DSA
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
String
Tar
Upload
XML
XMP
Zip

Amazon S3
Bz2
CSV
FileAccess
Byte Array
RSS
Atom
Self-Extractor

Parse MIME Header Fields

Demonstrates how to parse MIME header fields, including Content-Type, Content-Disposition, and Content-Transfer-Encoding.

This example uses a MIME test file located at http://www.chilkatsoft.com/testData/sampleMime2.txt. It contains the following MIME:

Content-Type: multipart/mixed;
 boundary="------------080707010302060306060800"

This is a multi-part message in MIME format.

--------------080707010302060306060800
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

This is the plain-text body.
--------------080707010302060306060800
Content-Disposition: attachment; filename="starfish.gif"
Content-Transfer-Encoding: base64
Content-Type: image/gif; name="starfish.gif"

R0lGODlhIAAgAPcAAP///+/v7/f39+/n5/fv7//39/fn597OzufW1tbGxs69vffe3u/W1salpZQQ
EIQYEJwQCJQYCJwYCM6clL2Ee5wpGIwhEK0YANatpdalnHMYCKUhCJQYAKUYAM6Ec5QhCJwhCPfW
zu/Oxta1rb17a6UhAK0hAPe9rb2Ec7V7a71rUpwpCL0xCJwhAOfOxta9tcatpdallM6cjMaUhK1C
IZwxELU5EK0xCLUxCN61pcacjK1rUrVaOaVKKZxCIZwxCKUxCL05CLUxAM6llO+1nMZzUr1rSrVS
KaVCGK1CGLVCEJQxCK05CLU5CIwpAKUxAK0xAM69tffWxrVrSrVaMbVKGMZKEL1CCLU5AP/v597O
xufGtcallNaljLWEa96ce9aUc717Wq1aMcZjMbVaKbVSIa1KGL1SGJw5CK1CCLVCCMZKCM5KCMZC
APfn3tbGvc57Ss5aGMZSENZaEL1KCM5SCLVCAMZKAPfezvfOte/GrdatlN6cc9aEUr1rOc5jIdZj
GL1SEM5aELVKCMZSCNZaCL1KAOfOvc57Qs5jGNZjEM5aCMZSAN5aAO/OtefGrcZjGM5jEN5rELVS
CMZaCN5jCOdrCM5aAO/Gpc5rGMZjENZrEN5jAOdrAOfe1t6MQtZ7Kd57IdZzGM5rEMZjCNZrCM5j
ANbOxu/Wve+9jPe9hO+1e+etc85zGO+EGMZrENZzEM5rCN5zCO97COdzAO/n3u+1c+ecSt6UQs57
Ie+MIdZ7GOeEGM5zEO+EELVjCOd7CO+ECOd7AO/Ope+tWuelUu+UKeeMGOeEEO+MEOeECO+EAO/G
jO+cKfeUEO+MCO+tSuecMeeUGN6MEOeMCO+UCO+tQuelOe+lMe+lKe+cGOeUEO+cEOeUCN6MAO+U
AOe9c/e1Oe+lId6UEO+cCPe9Qve1Me+lEOecCO+lCOe1Su+1OeelGO+tGPetCPetAO+9Qve1GO+1
EPe9CPe9APf37+fv5/f//+/v9/fv9+fe5+/e5869xufW3t7GzgAAACwAAAAAIAAgAAAI/wABCBxI
sKDBgwgTFgCwMKHDhwyHYWoIsWIBZsdyHaoIcaGbaNQ0ZeBYEROvV0pmCCDp8B4rZaOUcGHpcIEx
aqPMYLjHMcsCAwgxkRv3q8wLnhAdfWpmDRwqAgQFEEvHLlCZNxwfpVmkDJ04dczc3LsXQtq4XWh8
aGH48F49FDUC9UInT941W6luCUOWyQmSLST3eUnChNS4c9SooQuGDNkrIIrA1MqXr0A+AyFC4Kln
kMAQKljotJJGDZklS9PkyEHGLZu1ctbCmWvXThurfAbvHSii5kegxpYqtRpEKFnid/TSneu2LRYh
P/0Q1tJRgYOZV71UL5LEK1KiV68yVf+xgaOKmAZICd5bmA8FEyZQlMjRRAhQGQv4QQSJL8ZLFHwP
6aFIJXNIEkggcgQhwYIlKEFFGDKcEgBCBVCkByC0IAMJGnSAYsUNEmzAgw4HBJBeQisZcAswjqGh
wQeBKGIFFD0ocCJE9diyjTKRLPHBAx/cEAcdgxgx4Vg3HnSPKs4E00sNEYDwgQksQDLJIohMSJIj
ugSTCRA/ILFDCjTckUkrpYiCAEluYCMLJCsoMQUM9gjQRSSL7CLJJjmQxMw3kQChxA78IFULHIK0
MgonXyR5UAHWVBKIEmEcUJAIYxgSSSF94AZRPrgsQgUF0RmUgWpy/LFmRYdMkACAANwrWA8cbAhi
RZ8cjRWro0QEEsQVGTiKkLAM5QNGFWrAQFNLBIzABQPLRktQQAA7

--------------080707010302060306060800--

Download Chilkat MIME ActiveX

CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @sTmp0 nvarchar(4000)
    DECLARE @mime int
    EXEC @hr = sp_OACreate 'Chilkat.Mime', @mime OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    DECLARE @success int

    EXEC sp_OAMethod @mime, 'UnlockComponent', @success OUT, 'Anything for 30-day trial.'
    IF @success = 0
      BEGIN
        EXEC sp_OAGetProperty @mime, 'LastErrorText', @sTmp0 OUT

        PRINT @sTmp0
        RETURN
      END

    --  Load the sampleMime2.txt file into the MIME object.
    --  (This file is available at http://www.chilkatsoft.com/testData/sampleMime2.txt )

    EXEC sp_OAMethod @mime, 'LoadMimeFile', @success OUT, 'sampleMime2.txt'
    IF @success = 0
      BEGIN
        EXEC sp_OAGetProperty @mime, 'LastErrorText', @sTmp0 OUT

        PRINT @sTmp0
        RETURN
      END

    --  The GIF image is the 2nd sub-part located directly under the
    --  top-level MIME node.  Indexing begins at 0, therefore the 2nd
    --  sub-part is at index 1.
    DECLARE @part2 int

    EXEC sp_OAMethod @mime, 'GetPart', @part2 OUT, 1

    --  -------------------------------
    --  Content-Disposition
    --  -------------------------------
    --  In this example, the Content-Disposition header field
    --  contains this value:
    --  attachment; filename="starfish.gif"

    --  To get the "filename", call GetHeaderFieldAttribute
    --  Header field names and attribute names are case insensitive.
    DECLARE @filename nvarchar(4000)

    EXEC sp_OAMethod @part2, 'GetHeaderFieldAttribute', @filename OUT, 'Content-Disposition', 'filename'


    PRINT 'Filename: ' + @filename

    --  Because the "filename" is so often accessed, it is also available
    --  by accessing the "Filename" property:

    EXEC sp_OAGetProperty @part2, 'Filename', @sTmp0 OUT

    PRINT 'Filename: ' + @sTmp0

    --  The disposition (without attributes) which in this case
    --  is the string "attachment" is accessed via the Disposition property:

    EXEC sp_OAGetProperty @part2, 'Disposition', @sTmp0 OUT

    PRINT 'Disposition: ' + @sTmp0

    --  To get the full value of the Content-Disposition header field,
    --  call GetHeaderField.

    EXEC sp_OAMethod @part2, 'GetHeaderField', @sTmp0 OUT, 'Content-Disposition'
    PRINT 'Content-Disposition: ' + @sTmp0

    --  -------------------------------
    --  Content-Type
    --  -------------------------------
    --  In this example, the Content-Type header field
    --  contains this value:
    --  image/gif; name="starfish.gif"

    --  To get the "name", call GetHeaderFieldAttribute
    DECLARE @name nvarchar(4000)

    EXEC sp_OAMethod @part2, 'GetHeaderFieldAttribute', @name OUT, 'Content-Type', 'name'


    PRINT 'Content-Type name: ' + @name

    --  Because the "name" is so often accessed, it is also available
    --  by accessing the "Name" property:

    EXEC sp_OAGetProperty @part2, 'Name', @sTmp0 OUT

    PRINT 'Content-Type name: ' + @sTmp0

    --  The content-type without attributes is available in the
    --  ContentType property:

    EXEC sp_OAGetProperty @part2, 'ContentType', @sTmp0 OUT

    PRINT 'Content-Type: ' + @sTmp0

    --  To get the full value of the Content-Type header field,
    --  call GetHeaderField.

    EXEC sp_OAMethod @part2, 'GetHeaderField', @sTmp0 OUT, 'Content-Type'
    PRINT 'Content-Type: ' + @sTmp0

    --  -------------------------------
    --  Content-Transfer-Encoding
    --  -------------------------------

    --  The Encoding property contains the value of the
    --  Content-Transfer-Encoding property.
    --  Calling GetHeaderField("Content-Transfer-Encoding") is
    --  equivalent to accessing the Encoding property:

    EXEC sp_OAGetProperty @part2, 'Encoding', @sTmp0 OUT

    PRINT 'Content-Transfer-Encoding: ' + @sTmp0

    EXEC sp_OAMethod @part2, 'GetHeaderField', @sTmp0 OUT, 'Content-Transfer-Encoding'
    PRINT 'Content-Transfer-Encoding: ' + @sTmp0

    PRINT 'Finished.'


END
GO

 

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.