<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Download Archives | ZappySys Blog</title>
	<atom:link href="https://zappysys.com/blog/tag/download/feed/" rel="self" type="application/rss+xml" />
	<link>https://zappysys.com/blog/tag/download/</link>
	<description>SSIS / ODBC Drivers / API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more</description>
	<lastBuildDate>Thu, 05 Mar 2026 01:25:27 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.4</generator>

<image>
	<url>https://zappysys.com/blog/wp-content/uploads/2023/01/cropped-zappysys-symbol-large-32x32.png</url>
	<title>Download Archives | ZappySys Blog</title>
	<link>https://zappysys.com/blog/tag/download/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to download images from a web page using SSIS</title>
		<link>https://zappysys.com/blog/how-to-download-images-from-a-web-page-using-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys Team]]></dc:creator>
		<pubDate>Mon, 27 Mar 2023 11:49:52 +0000</pubDate>
				<category><![CDATA[REST API]]></category>
		<category><![CDATA[SSIS CSV Source]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[rest api]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=9918</guid>

					<description><![CDATA[<p>Introduction The article shows how to download images from a web page using SSIS. Sometimes we need to download the images from a web page. In this post, we will show how to do this. Prerequisites Before we perform steps listed in this article, you will need to make sure following prerequisites are met: SSIS [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/how-to-download-images-from-a-web-page-using-ssis/">How to download images from a web page using SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><strong>Introduction</strong></h2>
<p>The article shows how to download images from a web page using SSIS. Sometimes we need to download the images from a web page. In this post, we will show how to do this.</p>
<h2><strong>Prerequisites</strong></h2>
<p>Before we perform steps listed in this article, you will need to make sure following prerequisites are met:</p>
<ol>
<li>SSIS designer installed. Sometimes it is referred as BIDS or SSDT (<a href="https://learn.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt?view=sql-server-ver16">download it from Microsoft site</a>).</li>
<li>Basic knowledge of SSIS package development using Microsoft SQL Server Integration Services.</li>
<li>Make sure <a href="https://zappysys.com/products/ssis-powerpack/">ZappySys SSIS PowerPack</a> is installed (<a href="https://zappysys.com/products/ssis-powerpack/download/">download it</a>).</li>
<li>Optional (If you want to Deploy and Schedule ) &#8211; <a href="https://zappysys.zendesk.com/hc/en-us/articles/360035974593">Deploy and Schedule SSIS Packages</a></li>
</ol>
<h2><strong>Steps-by-step process to download images from HTML using SSIS</strong></h2>
<h3>Use REST API task to get the HTML body</h3>
<p>1. Drag and drop the REST API Task from SSIS toolbox, select the html page you want and save it in a variable.</p>
<div id="attachment_9958" style="width: 846px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2023/02/RAT1.png"><img decoding="async" aria-describedby="caption-attachment-9958" class="size-full wp-image-9958" src="https://zappysys.com/blog/wp-content/uploads/2023/02/RAT1.png" alt="" width="836" height="713" srcset="https://zappysys.com/blog/wp-content/uploads/2023/02/RAT1.png 836w, https://zappysys.com/blog/wp-content/uploads/2023/02/RAT1-300x256.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/02/RAT1-768x655.png 768w" sizes="(max-width: 836px) 100vw, 836px" /></a><p id="caption-attachment-9958" class="wp-caption-text">Select the page you want to get the images</p></div>
<p>2. Go to <strong>Response Settings. </strong>Check the option Save the response content. In <strong>Save Mode, </strong>select <strong>Save to File. </strong>In the option <strong>Enter File Path</strong>, write the path for the html file.</p>
<div id="attachment_9959" style="width: 846px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2023/02/RAT2.png"><img decoding="async" aria-describedby="caption-attachment-9959" class="size-full wp-image-9959" src="https://zappysys.com/blog/wp-content/uploads/2023/02/RAT2.png" alt="" width="836" height="713" srcset="https://zappysys.com/blog/wp-content/uploads/2023/02/RAT2.png 836w, https://zappysys.com/blog/wp-content/uploads/2023/02/RAT2-300x256.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/02/RAT2-768x655.png 768w" sizes="(max-width: 836px) 100vw, 836px" /></a><p id="caption-attachment-9959" class="wp-caption-text">Save the page in a file</p></div>
<h3>Parse the image with Regular Expression parser task</h3>
<p>3. From the SSIS toolbox drag and drop Regular Expression Parser Task on the Control flow designer surface.</p>
<p>4. The next step is to save the source path from the images. You need to use Regex and here are two example you can use, in this page <a href="https://regex101.com/">Regex101</a> you can check more details about the expressions we are using:</p>
<p>Expression 1: <pre class="crayon-plain-tag">&lt;img.*?src="(.*?)"{{*}}</pre>
Expression 2: <pre class="crayon-plain-tag">src="([a-z\-_0-9\/\:\.]*\.(png|jpg|jpeg|gif|png))"{{*}}</pre>
<div id="attachment_9960" style="width: 692px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2023/02/Regex1.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9960" class="wp-image-9960 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/02/Regex1.png" alt="download images from a web page - Regex configuration" width="682" height="805" srcset="https://zappysys.com/blog/wp-content/uploads/2023/02/Regex1.png 682w, https://zappysys.com/blog/wp-content/uploads/2023/02/Regex1-254x300.png 254w" sizes="(max-width: 682px) 100vw, 682px" /></a><p id="caption-attachment-9960" class="wp-caption-text">Regex expression to get the image code from the page</p></div>
<h3>Read the image source with CSV source in order to download images from a Web page</h3>
<p>5. Now, Drag and Drop SSIS <b>Data Flow Task</b> from SSIS Toolbox.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/drag-and-drop-data-flow-task.png" width="460" height="155" /></p>
<p>6. Double click on the DataFlow task to see DataFlow designer surface.</p>
<p>7. From the SSIS toolbox drag and drop CSV source and insert the variable you are using from the previous task</p>
<div id="attachment_9961" style="width: 836px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2023/02/csv.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9961" class="wp-image-9961 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/02/csv.png" alt="CSV Source configuration" width="826" height="733" srcset="https://zappysys.com/blog/wp-content/uploads/2023/02/csv.png 826w, https://zappysys.com/blog/wp-content/uploads/2023/02/csv-300x266.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/02/csv-768x682.png 768w" sizes="(max-width: 826px) 100vw, 826px" /></a><p id="caption-attachment-9961" class="wp-caption-text">Use CSV source to read the variable</p></div>
<h3>Get the image name, image full path and the destination folder to download images from a Web Page</h3>
<p>8. From the SSIS toolbox drag and drop Derived Column transform to remove the HTML code and get the image name.</p>
<p>Expression for the Image name:</p><pre class="crayon-plain-tag">(DT_WSTR,1000)REVERSE(LEFT(REVERSE(REPLACE(REPLACE(Column1,"src=\"",""),"\"","")),(FINDSTRING(REVERSE(REPLACE(REPLACE(Column1,"src=\"",""),"\"","")),"/",1) - 1)))</pre><p>
Remove the HTML code:</p><pre class="crayon-plain-tag">REPLACE(REPLACE(Column1,"src=\"",""),"\"","")</pre><p>
<div id="attachment_9962" style="width: 796px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2023/02/derivedColumn1.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9962" class="wp-image-9962 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/02/derivedColumn1.png" alt="Image name" width="786" height="635" srcset="https://zappysys.com/blog/wp-content/uploads/2023/02/derivedColumn1.png 786w, https://zappysys.com/blog/wp-content/uploads/2023/02/derivedColumn1-300x242.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/02/derivedColumn1-768x620.png 768w" sizes="(max-width: 786px) 100vw, 786px" /></a><p id="caption-attachment-9962" class="wp-caption-text">Add a new column and remove HTML code</p></div>
<p>9. Now we will drag and drop another Derived Column, this one is for the file path for the images and validate if the image URL is valid. If the image URL has “http” in the stringm then it is valid otherwise you need to add the rest of the URL. Here is our example for the filePath and validate the URL image. If everything is OK, we can send the image URL.</p><pre class="crayon-plain-tag">File path: (DT_WSTR,2500)@[User::vDestinationFolder] + ImageName

Validate image URL: ((FINDSTRING(Column1,"http",1) &gt; 0) ? Column1 : (DT_WSTR,2500)("https://www.urlexample/image/" + Column1))

Note: @[User::vDestinationFolder] is a variable we used for the local path</pre><p>
<div id="attachment_9963" style="width: 796px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2023/02/derivedColumn2.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9963" class="wp-image-9963 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/02/derivedColumn2.png" alt="Expression in derived column" width="786" height="635" srcset="https://zappysys.com/blog/wp-content/uploads/2023/02/derivedColumn2.png 786w, https://zappysys.com/blog/wp-content/uploads/2023/02/derivedColumn2-300x242.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/02/derivedColumn2-768x620.png 768w" sizes="(max-width: 786px) 100vw, 786px" /></a><p id="caption-attachment-9963" class="wp-caption-text">Add a new column and verify the HTML path</p></div>
<h3>Send the request and save the image In the folder TO download images from a Web Page</h3>
<p>10. Now we will drag and drop a web API destination and select the column in the input column to URL. If the request is right, we can save the image in the local file.</p>
<div id="attachment_11103" style="width: 728px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/03/wad1.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11103" src="https://zappysys.com/blog/wp-content/uploads/2023/03/wad1.jpg" alt="Web API destination for images URL" width="718" height="771" class="size-full wp-image-11103" srcset="https://zappysys.com/blog/wp-content/uploads/2023/03/wad1.jpg 718w, https://zappysys.com/blog/wp-content/uploads/2023/03/wad1-279x300.jpg 279w" sizes="(max-width: 718px) 100vw, 718px" /></a><p id="caption-attachment-11103" class="wp-caption-text">Send a request for all images you get</p></div>
<p>11. Now drag and drop an Export Column transformation and select the ResponseText from the request and the file path.</p>
<div id="attachment_9967" style="width: 761px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2023/02/exportColumn.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9967" class="wp-image-9967 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/02/exportColumn.png" alt="download images from a web page - Export properties" width="751" height="635" srcset="https://zappysys.com/blog/wp-content/uploads/2023/02/exportColumn.png 751w, https://zappysys.com/blog/wp-content/uploads/2023/02/exportColumn-300x254.png 300w" sizes="(max-width: 751px) 100vw, 751px" /></a><p id="caption-attachment-9967" class="wp-caption-text">Select the image response and the local file path</p></div>
<p>12. Finally, we use a trash destination to close the flow.</p>
<div id="attachment_9964" style="width: 352px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2023/02/dataflow2.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9964" class="wp-image-9964 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/02/dataflow2.png" alt="download images from a web page - All the tasks together " width="342" height="523" srcset="https://zappysys.com/blog/wp-content/uploads/2023/02/dataflow2.png 342w, https://zappysys.com/blog/wp-content/uploads/2023/02/dataflow2-196x300.png 196w" sizes="(max-width: 342px) 100vw, 342px" /></a><p id="caption-attachment-9964" class="wp-caption-text">The final result</p></div>
<h2>Conclusion</h2>
<p>If everything is OK, you will be able to download the images from your HTML page. To do that, we read the list of URLs from a list. Then we get the name of the images using expressions. Then we add a path for each image to store them. Finally, we save the images.</p>
<p>The post <a href="https://zappysys.com/blog/how-to-download-images-from-a-web-page-using-ssis/">How to download images from a web page using SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Download Gmail Attachment in SSIS</title>
		<link>https://zappysys.com/blog/download-gmail-attachment-in-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys Team]]></dc:creator>
		<pubDate>Wed, 30 Dec 2020 18:29:57 +0000</pubDate>
				<category><![CDATA[JSON File / REST API Driver]]></category>
		<category><![CDATA[REST API Integration]]></category>
		<category><![CDATA[attachment]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[varbinary]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=9207</guid>

					<description><![CDATA[<p>Introduction Downloading Gmail Attachments in SSIS is always a little more difficult than working with simple text or numeric columns. If you are not an SSIS expert, doing it for the first time may be challenging. That is why we created this article for you. This is a common request we receive, so we are [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/download-gmail-attachment-in-ssis/">Download Gmail Attachment in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<div class="su-note"  style="border-color:#e5dd9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#fff7b7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><strong>UPDATE:</strong> ZappySys has released a brand new <a href="https://zappysys.com/api/integration-hub/gmail-connector/ssis" target="_blank" rel="noopener">Gmail Connector for SSIS</a>, which makes it much simpler to <strong>download attachments, read / search Emails, users, mail folders, send emails, and more in SSIS</strong> compared to the steps listed in this article. You can still use the steps from this article, but if you are new to APIs or want to avoid the learning curve, use a newer approach.</div></div>
<p>Downloading Gmail Attachments in SSIS is always a little more difficult than working with simple text or numeric columns. If you are not an SSIS expert, doing it for the first time may be challenging. That is why we created this article for you. This is a common request we receive, so we are bringing this article to you.</p>
<p>Gmail is the most popular email service in the world, and it can be helpful to automate and get valuable information from it. We will connect to Gmail with the REST API. For that, if you are not an experienced user of the REST API, do not worry. This article is for you. We will provide simple steps for the connection.</p>
<h2>Requirements</h2>
<p>To do it, we will need the following components:</p>
<ol>
<li><a href="https://docs.microsoft.com/en-us/sql/ssdt/previous-releases-of-sql-server-data-tools-ssdt-and-ssdt-bi?view=sql-server-ver15">SSDT for SSIS</a> must be installed on your computer</li>
<li><a href="https://zappysys.com/products/ssis-powerpack/download/">ZappySys SSIS Powerpack</a> should be installed. This Powerpack Plugin includes connectors to Gmail via the REST API.</li>
</ol>
<p>&nbsp;</p>
<h2>Getting Started</h2>
<h3>Creating the connection</h3>
<ol>
<li>First of all, in SSDT, create a new SSIS project</li>
<li>To create a connection in SSDT, open the Connection Manager and select New Connection.
<div id="attachment_11671" style="width: 732px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2020/12/Create-a-new-connection.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11671" class="wp-image-11671 size-full" src="https://zappysys.com/blog/wp-content/uploads/2020/12/Create-a-new-connection.png" alt="Create a new connection" width="722" height="229" srcset="https://zappysys.com/blog/wp-content/uploads/2020/12/Create-a-new-connection.png 722w, https://zappysys.com/blog/wp-content/uploads/2020/12/Create-a-new-connection-300x95.png 300w, https://zappysys.com/blog/wp-content/uploads/2020/12/Create-a-new-connection-720x229.png 720w" sizes="(max-width: 722px) 100vw, 722px" /></a><p id="caption-attachment-11671" class="wp-caption-text">Create a new connection</p></div></li>
<li>Select the ZS OAuth connection. This is a special connection included with the <a href="https://zappysys.com/products/ssis-powerpack/download/">ZS.<br />
SSIS PowerPack</a> installer that we will use to connect to Gmail.</p>
<div id="attachment_11676" style="width: 488px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2020/12/Select-ZS-OAuth-connector.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11676" class="wp-image-11676 size-full" src="https://zappysys.com/blog/wp-content/uploads/2020/12/Select-ZS-OAuth-connector.png" alt="Select ZS-OAuth connector" width="478" height="447" srcset="https://zappysys.com/blog/wp-content/uploads/2020/12/Select-ZS-OAuth-connector.png 478w, https://zappysys.com/blog/wp-content/uploads/2020/12/Select-ZS-OAuth-connector-300x281.png 300w" sizes="(max-width: 478px) 100vw, 478px" /></a><p id="caption-attachment-11676" class="wp-caption-text">Select ZS-OAuth connector</p></div>
<div class="mceTemp"></div>
</li>
<li>In the ZS OAuth connection, select the Google API OAuth Provider and specify the following credentials and scope permissions:
<div id="attachment_11677" style="width: 713px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2020/12/SSIS-Gmail-connection-1.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11677" class="size-full wp-image-11677" src="https://zappysys.com/blog/wp-content/uploads/2020/12/SSIS-Gmail-connection-1.png" alt="SSIS Gmail connection" width="703" height="674" srcset="https://zappysys.com/blog/wp-content/uploads/2020/12/SSIS-Gmail-connection-1.png 703w, https://zappysys.com/blog/wp-content/uploads/2020/12/SSIS-Gmail-connection-1-300x288.png 300w" sizes="(max-width: 703px) 100vw, 703px" /></a><p id="caption-attachment-11677" class="wp-caption-text">SSIS Gmail connection</p></div>
<pre class="crayon-plain-tag">https://mail.google.com/
https://www.googleapis.com/auth/gmail.modify
https://www.googleapis.com/auth/gmail.readonly
https://www.googleapis.com/auth/gmail.addons.current.message.readonly
https://www.googleapis.com/auth/gmail.addons.current.message.action</pre>
</li>
</ol>
<h3>Creating the package to download Gmail attachments in SSIS</h3>
<ol>
<li>First of all, drag and drop the Data Flow Task from the SSIS Toolbox and double-click it<br />
to edit.</p>
<div id="attachment_11622" style="width: 472px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/08/Drag-and-Drop-SSIS-Data-Flow-Task-from-SSIS-Toolbox.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11622" class="wp-image-11622 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/08/Drag-and-Drop-SSIS-Data-Flow-Task-from-SSIS-Toolbox.png" alt="" width="462" height="157" srcset="https://zappysys.com/blog/wp-content/uploads/2019/08/Drag-and-Drop-SSIS-Data-Flow-Task-from-SSIS-Toolbox.png 462w, https://zappysys.com/blog/wp-content/uploads/2019/08/Drag-and-Drop-SSIS-Data-Flow-Task-from-SSIS-Toolbox-300x102.png 300w" sizes="(max-width: 462px) 100vw, 462px" /></a><p id="caption-attachment-11622" class="wp-caption-text">Drag and Drop SSIS Data Flow Task from SSIS Toolbox</p></div></li>
<li>Secondly, in the Data Flow, we will use the JSON Source to connect to Gmail and get the attachments. JSON Source is a ZappySys component used now only to connect to JSON files, but also to connect to REST API Servers that support JSON. In this case, Gmail REST API can send information in JSON Format. Use the connection created before.</li>
<li>Basically, we need to specify the URL of the Gmail attachment. In Gmail, the email attachment is inside the message. Then you need to specify the <em>message-id</em> and the Gmail <em>attachment-id</em> like this:
<div id="attachment_11678" style="width: 838px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2020/12/Zappysys-JSON-source-Gmail-attachments-configuration.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11678" class="size-full wp-image-11678" src="https://zappysys.com/blog/wp-content/uploads/2020/12/Zappysys-JSON-source-Gmail-attachments-configuration.png" alt="Zappysys JSON source Gmail attachments configuration" width="828" height="717" srcset="https://zappysys.com/blog/wp-content/uploads/2020/12/Zappysys-JSON-source-Gmail-attachments-configuration.png 828w, https://zappysys.com/blog/wp-content/uploads/2020/12/Zappysys-JSON-source-Gmail-attachments-configuration-300x260.png 300w, https://zappysys.com/blog/wp-content/uploads/2020/12/Zappysys-JSON-source-Gmail-attachments-configuration-768x665.png 768w" sizes="(max-width: 828px) 100vw, 828px" /></a><p id="caption-attachment-11678" class="wp-caption-text">Zappysys JSON source Gmail attachments configuration</p></div>
<pre class="crayon-plain-tag">https://www.googleapis.com/gmail/v1/users/me/messages/{{User::email_id}}/attachments/{{User::attachment_id}}</pre>
</li>
<li>Now, in the go-to columns tab, set the data type to DT_IMAGE and increase the length of the other columns&#8217; DT_WSTR fields by 1000 and 1500. We set <pre class="crayon-plain-tag">contentBytes</pre> to the <pre class="crayon-plain-tag">DT_IMAGE</pre>  datatype, it&#8217;s like <pre class="crayon-plain-tag">varbinary(MAX)</pre>
<div id="attachment_11675" style="width: 836px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2020/12/JSON-Source-Columns-Tab-attachment-datatype.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11675" class="size-full wp-image-11675" src="https://zappysys.com/blog/wp-content/uploads/2020/12/JSON-Source-Columns-Tab-attachment-datatype.png" alt="JSON Source Columns Tab - attachment datatype" width="826" height="331" srcset="https://zappysys.com/blog/wp-content/uploads/2020/12/JSON-Source-Columns-Tab-attachment-datatype.png 826w, https://zappysys.com/blog/wp-content/uploads/2020/12/JSON-Source-Columns-Tab-attachment-datatype-300x120.png 300w, https://zappysys.com/blog/wp-content/uploads/2020/12/JSON-Source-Columns-Tab-attachment-datatype-768x308.png 768w" sizes="(max-width: 826px) 100vw, 826px" /></a><p id="caption-attachment-11675" class="wp-caption-text">JSON Source Columns Tab &#8211; attachment datatype</p></div></li>
<li>Next, we will use the derived column to set the path to the local folder where the attachment will be stored. The derived column will be used to set the local path for the attachment. Make sure to specify valid paths with double backslashes, since backslashes are special characters. The derived column is a special transformation component that creates new columns. <a href="https://docs.microsoft.com/en-us/sql/integration-services/expressions/integration-services-ssis-expressions?view=sql-server-ver15">SSIS expressions</a>.
<div id="attachment_11672" style="width: 798px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2020/12/Derived-columns-Gmail-attachment.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11672" class="size-full wp-image-11672" src="https://zappysys.com/blog/wp-content/uploads/2020/12/Derived-columns-Gmail-attachment.png" alt="Derived columns - Gmail attachment" width="788" height="624" srcset="https://zappysys.com/blog/wp-content/uploads/2020/12/Derived-columns-Gmail-attachment.png 788w, https://zappysys.com/blog/wp-content/uploads/2020/12/Derived-columns-Gmail-attachment-300x238.png 300w, https://zappysys.com/blog/wp-content/uploads/2020/12/Derived-columns-Gmail-attachment-768x608.png 768w" sizes="(max-width: 788px) 100vw, 788px" /></a><p id="caption-attachment-11672" class="wp-caption-text">Derived columns &#8211; Gmail attachment file path</p></div></li>
<li>Also, we will require the Export column to download into a file. This component is specially used to get images or binary files into the file system.
<div id="attachment_11673" style="width: 763px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2020/12/Export-columns-transformation-Gmail-attachment.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11673" class="size-full wp-image-11673" src="https://zappysys.com/blog/wp-content/uploads/2020/12/Export-columns-transformation-Gmail-attachment.png" alt="Export columns transformation - Gmail attachment" width="753" height="637" srcset="https://zappysys.com/blog/wp-content/uploads/2020/12/Export-columns-transformation-Gmail-attachment.png 753w, https://zappysys.com/blog/wp-content/uploads/2020/12/Export-columns-transformation-Gmail-attachment-300x254.png 300w" sizes="(max-width: 753px) 100vw, 753px" /></a><p id="caption-attachment-11673" class="wp-caption-text">Export columns transformation &#8211; Gmail attachment</p></div></li>
<li>Finally, we will use the <a href="https://zappysys.com/blog/ssis-trash-destination-dummy-data-source-example/">Trash destination</a> to get the attachment and finish the flow. This one is also a ZappySys component ubiquitous.</li>
<li>Your package should be something like this:
<div id="attachment_11674" style="width: 306px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2020/12/Final-Result-Gmail-attachment.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11674" class="size-full wp-image-11674" src="https://zappysys.com/blog/wp-content/uploads/2020/12/Final-Result-Gmail-attachment.png" alt="Final Result - Gmail attachment" width="296" height="320" srcset="https://zappysys.com/blog/wp-content/uploads/2020/12/Final-Result-Gmail-attachment.png 296w, https://zappysys.com/blog/wp-content/uploads/2020/12/Final-Result-Gmail-attachment-278x300.png 278w" sizes="(max-width: 296px) 100vw, 296px" /></a><p id="caption-attachment-11674" class="wp-caption-text">Final Result &#8211; Gmail attachment</p></div></li>
<li>The next step is to run it and test it.</li>
<li>If everything is fine, we will be able to see the file in your system.</li>
</ol>
<h2>Conclusion</h2>
<p>In conclusion, we learned how to download Gmail attachments in SSIS. Basically, you need to use the ZappySys JSON Source to connect to Gmail via the REST API, then use the derived column component to specify the path to store the attachment. The next step is to use the Export column component to export the attachment. Finally, the ZS Trash destination is the attachment&#8217;s destination. If you liked this article, do not hesitate to continue testing and using <a href="https://zappysys.com/">ZappySys PowerPack for SSIS.</a></p>
<h2>API Connector</h2>
<p>Here are a few examples with our <a href="https://zappysys.com/api/integration-hub/gmail-connector/ssis">API connector for Gmail </a></p>
<div id="attachment_11670" style="width: 992px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2020/12/API-connector-Gmail-get-message-attachments.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11670" class="size-full wp-image-11670" src="https://zappysys.com/blog/wp-content/uploads/2020/12/API-connector-Gmail-get-message-attachments.png" alt="API connector - Gmail get message attachments" width="982" height="684" srcset="https://zappysys.com/blog/wp-content/uploads/2020/12/API-connector-Gmail-get-message-attachments.png 982w, https://zappysys.com/blog/wp-content/uploads/2020/12/API-connector-Gmail-get-message-attachments-300x209.png 300w, https://zappysys.com/blog/wp-content/uploads/2020/12/API-connector-Gmail-get-message-attachments-768x535.png 768w" sizes="(max-width: 982px) 100vw, 982px" /></a><p id="caption-attachment-11670" class="wp-caption-text">API connector &#8211; Gmail get message attachments</p></div>
<div id="attachment_11669" style="width: 992px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2020/12/API-connector-Gmail-download-message-attachments.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11669" class="size-full wp-image-11669" src="https://zappysys.com/blog/wp-content/uploads/2020/12/API-connector-Gmail-download-message-attachments.png" alt="API connector - Gmail download message attachments" width="982" height="684" srcset="https://zappysys.com/blog/wp-content/uploads/2020/12/API-connector-Gmail-download-message-attachments.png 982w, https://zappysys.com/blog/wp-content/uploads/2020/12/API-connector-Gmail-download-message-attachments-300x209.png 300w, https://zappysys.com/blog/wp-content/uploads/2020/12/API-connector-Gmail-download-message-attachments-768x535.png 768w" sizes="(max-width: 982px) 100vw, 982px" /></a><p id="caption-attachment-11669" class="wp-caption-text">API connector &#8211; Gmail download message attachments</p></div>
<p>&nbsp;</p>
<p>The post <a href="https://zappysys.com/blog/download-gmail-attachment-in-ssis/">Download Gmail Attachment in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Read/Write Azure Table Storage data in SSIS</title>
		<link>https://zappysys.com/blog/read-write-azure-table-storage-data-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Fri, 02 Aug 2019 13:03:21 +0000</pubDate>
				<category><![CDATA[SSIS Azure Table Storage Destination]]></category>
		<category><![CDATA[SSIS Azure Table Storage Source]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[Client]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[Destination]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[read]]></category>
		<category><![CDATA[Setup]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[table]]></category>
		<category><![CDATA[write]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=7561</guid>

					<description><![CDATA[<p>Introduction In our previous blog, we saw how to read/write Azure Blob Storage Files in SSIS (CSV, JSON, XML Format files). Now in this blog, we will see how to Read/Write Azure Table Storage data in SSIS. To illustrate, we will use ZappySys SSIS PowerPack, which includes several tasks to import/export data from multiples sources to multiple destinations like [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/read-write-azure-table-storage-data-ssis/">How to Read/Write Azure Table Storage data in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><img loading="lazy" decoding="async" class="size-thumbnail wp-image-7562 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-azure-table-storage-source-150x150.png" alt="" width="150" height="150" srcset="https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-azure-table-storage-source-150x150.png 150w, https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-azure-table-storage-source-300x300.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-azure-table-storage-source.png 448w" sizes="(max-width: 150px) 100vw, 150px" />In our previous blog, we saw how to read/write <a href="https://zappysys.com/blog/read-azure-blob-storage-files-ssis-csv-json-xml/" target="_blank" rel="noopener">Azure Blob Storage Files in SSIS (CSV, JSON, XML Format files).</a> Now in this blog, we will see how to Read/Write Azure Table Storage data in SSIS. To illustrate, we will use <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack</a>, which includes several tasks to import/export data from multiples sources to multiple destinations like flat files, Azure, AWS, databases, Office files and more. They are Coding free, drag and drop high-performance suite of <em>Custom SSIS Components</em> and <em>SSIS Tasks.</em> If you like to perform other operations on Azure Blob Storage Files (e.g. Download, Upload, Create, Delete) then <a href="https://zappysys.com/blog/category/ssis/tasks/ssis-azure-blob-storage-task/" target="_blank" rel="noopener">check these articles</a>.</p>
<p>&nbsp;</p>
<h2>Component Mentioned in this article</h2>
<div class="su-table su-table-alternate">
<table style="height: 44px;width: 307px">
<tbody>
<tr style="height: 22px">
<td style="height: 22px;width: 1px"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source.png"><img loading="lazy" decoding="async" class="alignnone wp-image-3074" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source.png" alt="" width="40" height="40" /></a></td>
<td style="height: 22px;width: 247px"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/azure-table-storage-source.htm" target="_blank" rel="noopener">Azure Table Storage Source</a></td>
</tr>
<tr style="height: 22px">
<td style="height: 22px;width: 1px"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-adapter.png"><img loading="lazy" decoding="async" class="alignnone wp-image-3074" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-adapter.png" alt="" width="40" height="40" /></a></td>
<td style="height: 22px;width: 247px"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/azure-table-storage-destination.htm" target="_blank" rel="noopener">Azure Table Storage Destination</a></td>
</tr>
</tbody>
</table>
</div>
<h2><span id="Prerequisite"><span id="Requirements">Prerequisite</span></span></h2>
<ol>
<li>First, you will need to have SSIS installed</li>
<li>Secondly, make sure to have SSDT</li>
<li>Download and install <a href="https://go.microsoft.com/fwlink/?LinkId=717179&amp;clcid=0x4009" target="_blank" rel="noopener">Microsoft Azure Storage Emulator</a></li>
<li>Download and install <a href="https://azure.microsoft.com/en-us/features/storage-explorer/" target="_blank" rel="noopener">Microsoft Azure Storage Explorer</a></li>
<li>Finally, do not forget to install ZappySys <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">SSIS PowerPack</a></li>
</ol>
<p><strong>NOTE:</strong> If you want to use Live account (Azure Blob Storage) then you can skip Step #3</p>
<h2><span id="What_is_Azure_Blob_Storage">What is Azure Table Storage?</span></h2>
<p>Azure Table storage stores large amounts of structured data. The service is a NoSQL datastore which accepts authenticated calls from inside and outside the Azure cloud. Azure tables are ideal for storing structured, non-relational data. Common uses of Table storage include:</p>
<div id="attachment_7567" style="width: 310px" class="wp-caption alignright"><a href="https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-azure-table-storage-intro.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7567" class="wp-image-7567 size-medium" src="https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-azure-table-storage-intro-300x158.png" alt="Microsoft Azure Table Storage Introduction" width="300" height="158" srcset="https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-azure-table-storage-intro-300x158.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-azure-table-storage-intro.png 468w" sizes="(max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-7567" class="wp-caption-text">Microsoft Azure Table Storage Introduction</p></div>
<ul>
<li>Storing TBs of structured data capable of serving web-scale applications</li>
<li>Storing datasets that don&#8217;t require complex joins, foreign keys, or stored procedures and can be denormalized for fast access</li>
<li>Quickly querying data using a clustered index</li>
<li>Accessing data using the OData protocol and LINQ queries with WCF Data Service .NET Libraries</li>
</ul>
<p>&nbsp;</p>
<p>You can use Table storage to store and query huge sets of structured, non-relational data, and your tables will scale as demand increases.</p>
<h2><span id="Getting_Started">Getting Started</span></h2>
<p>In order to start, we will show several examples. Zappysys includes an <a href="https://zappysys.com/products/ssis-powerpack/ssis-azure-table-storage-source/" target="_blank" rel="noopener">SSIS Azure Table Storage Source.</a> Here we are showing you is, how to Read/Write Azure Table Storage data in SSIS.</p>
<p>You can connect to your Azure Storage Account by entering your storage account credentials. Here I am showing an example of the use of the local Azure Storage Emulator.</p>
<h2><span id="Setup_Azure_Storage_client_tools">Setup Azure Storage client tools and Create Table</span></h2>
<ol>
<li>Once you have <a href="https://go.microsoft.com/fwlink/?LinkId=717179&amp;clcid=0x4009" target="_blank" rel="noopener">downloaded and installed a storage emulator</a> You can launch Microsoft Azure Storage Emulator from its Physical location or from the desktop or start menu shortcut.
<div id="attachment_3631" style="width: 869px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-location.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3631" class="wp-image-3631 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-location.png" alt="Azure Storage Emulator Physical Location" width="859" height="94" srcset="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-location.png 859w, https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-location-300x33.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-location-768x84.png 768w" sizes="(max-width: 859px) 100vw, 859px" /></a><p id="caption-attachment-3631" class="wp-caption-text">Azure Storage Emulator Physical Location</p></div></li>
<li>If you can see the below-attached Command Prompt screen after Emulator started. Then you can proceed to start Microsoft Azure Storage Explorer as the Azure Storage Emulator is started successfully.
<div id="attachment_3633" style="width: 710px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-screen-after-started-e1552723801433.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3633" class="wp-image-3633 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-emulator-screen-after-started-e1552723801433.png" alt="Command Prompt Screen after Microsoft Azure Storage Emulator Started" width="700" height="237" /></a><p id="caption-attachment-3633" class="wp-caption-text">Command Prompt Screen after Microsoft Azure Storage Emulator Started</p></div></li>
<li>Now, you have to <a href="https://azure.microsoft.com/en-us/features/storage-explorer/" target="_blank" rel="noopener">download and install Microsoft Azure Storage Explorer</a> and then you can launch Microsoft Azure Storage Explorer from its Physical location or from the desktop or start menu shortcut.
<div id="attachment_3635" style="width: 837px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-explorer-location.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3635" class="wp-image-3635 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-explorer-location.png" alt="Microsoft Azure Storage Explorer Location" width="827" height="97" srcset="https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-explorer-location.png 827w, https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-explorer-location-300x35.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/04/microsoft-azure-storage-explorer-location-768x90.png 768w" sizes="(max-width: 827px) 100vw, 827px" /></a><p id="caption-attachment-3635" class="wp-caption-text">Microsoft Azure Storage Explorer Location.</p></div></li>
<li>If you don&#8217;t have Azure Storage account then it&#8217;s easy to <a href="http://azure.microsoft.com/en-us/pricing/free-trial/" target="_blank" rel="noopener">get FREE Trial Azure Storage account</a> or use your MSDN to get credit each month which will be more than enough for real testing. If you prefer to avoid all this hassle then Microsoft provides another great way to test Azure Storage functionality is totally offline mode on your local machine. You can just <a href="http://www.microsoft.com/en-us/download/details.aspx?id=42317" target="_blank" rel="noopener">download Azure Storage Emulator</a> and start testing.</li>
<li> <a href="http://msdn.microsoft.com/en-us/library/azure/hh403989.aspx" target="_blank" rel="noopener">Click here</a> to learn more about how to configure Azure Storage Emulator for Testing and Development purposes. In order to connect to Azure Storage Service from SSIS, you will need Storage AccountName and an AccessKey. Ask your SysAdmin or responsible person to provide that information to you. Here are sample Account Name and Access Key(<b>this is just example key which may differ in your case</b>)<br />
<pre class="crayon-plain-tag">Account Name: mystorageaccount 
Access Key: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==</pre>
</li>
<li>For Creating a Tables, First of all, you need to go to Microsoft Storage Explorer Window. Then you can go through like this way (Storage Accounts –&gt; Emulator &#8211; Default Ports(Key) –&gt; Tables. Right-click on Tables and Select Create Table and put your table name you want.
<div style="width: 360px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-create-table.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-create-table.png" alt="Create Tables in Azure Table Storage Emulator" width="350" height="479" /></a><p class="wp-caption-text">Create Tables in Azure Table Storage Emulator</p></div></li>
</ol>
<h2>Write data using ZS Azure Table Storage Destination</h2>
<p>In this tutorial, you will learn how to write data into Azure Table Storage. You can use <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/dummydata-source.htm" target="_blank" rel="noopener">ZS DummyData Source</a> for practice it(In this case it&#8217;s from SQL Server Source). So, Let&#8217;s start with an example. In this SSIS we will write data into Azure Table Storage using ZS Azure Table Storage Destination.</p>
<ol>
<li>Once you have created Azure Storage Table and you got valid Account Name and AccessKey (for the local emulator you don&#8217;t need this) you may proceed to create a new SSIS package. In BIDS/SSDT create new SSIS package</li>
<li>From the SSIS toolbox drag and drop Data Flow Task on the control flow designer surface.
<div id="attachment_7934" style="width: 470px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7934" class="wp-image-7934 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task.png" alt="Drag and Drop SSIS Data Flow Task from SSIS Toolbox" width="460" height="155" srcset="https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task.png 460w, https://zappysys.com/blog/wp-content/uploads/2019/09/ssis-drag-drop-data-flow-task-300x101.png 300w" sizes="(max-width: 460px) 100vw, 460px" /></a><p id="caption-attachment-7934" class="wp-caption-text">Drag and Drop SSIS Data Flow Task from SSIS Toolbox</p></div></li>
<li>Double click on the DataFlow task to see DataFlow designer surface.</li>
<li>Here, In Visual Studio, drag and drop the OLE DB Source and Azure Table Storage Destination in the design surface and join the components with the blue arrow.
<div style="width: 567px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-adapter-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-adapter-drag.png" alt="SSIS Azure Table Storage Destination - Drag and Drop" width="557" height="167" /></a><p class="wp-caption-text">SSIS Azure Table Storage Destination &#8211; Drag and Drop</p></div></li>
<li>Now, we need two connection, OLE DB Connection, and Azure Storage Connection. Click <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/azure-storage-connection-manager.htm" target="_blank" rel="noopener">here</a> to create Azure Storage Connection.</li>
</ol>
<h3>How to create OLE DB Connection</h3>
<ol>
<li>Let&#8217;s, Right-click on Connection Managers Panel to Create OLE DB Connection, so you can use Source and Context Menu will appear, Select New OLE DB Connection from the Context Menu.
<div style="width: 485px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-1.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-1.png" alt="OLE DB Connection - Create New Connection" width="475" height="353" /></a><p class="wp-caption-text">OLE DB Connection &#8211; Create New Connection</p></div></li>
<li>Now, click on New Button to create Connection.
<div style="width: 665px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-2.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-2.png" alt="OLE DB Connection - Create New Connection" width="655" height="558" /></a><p class="wp-caption-text">OLE DB Connection &#8211; Create New Connection</p></div></li>
<li>Let&#8217;s Configure Connection Manager, just Follow steps one by one as we have created.
<div style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-3.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-new-oledb-connection-step-3.png" alt="OLE DB Connection - Configure Connection" width="720" height="625" /></a><p class="wp-caption-text">OLE DB Connection &#8211; Configure Connection</p></div></li>
<li>Click on the OK button to save configure Setting UI.</li>
</ol>
<h3>Write data into Azure Storage Table in SSIS</h3>
<ol>
<li>Double click on OLE DB Source for configure it.</li>
<li>Let&#8217;s Configure in Connection Manager, just follow the below image steps.
<div style="width: 828px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-oledb-source-editor-manager.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/oledb-connection-manager/ssis-oledb-source-editor-manager.png" alt="OLE DB Source - Configure" width="818" height="560" /></a><p class="wp-caption-text">OLE DB Source &#8211; Configure</p></div></li>
<li>Click OK to Save OLE DB Source Editor UI Settings.</li>
<li>Now double click Azure Table Storage Destination to configure it.</li>
<li>On [Connection Manager] tab select Azure Storage Connection manager.
<div style="width: 800px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-select-adapter-connection.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-select-adapter-connection.png" alt="ZS Azure Table Storage Destination - Connection Manager" width="790" height="287" /></a><p class="wp-caption-text">ZS Azure Table Storage Destination &#8211; Connection Manager</p></div></li>
<li>Click on [Component Properties] tab and select AccessMode=Table and Pick destination Table from the Tables dropdown list.<br />
<div class="su-note"  style="border-color:#e5de9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#fff8b7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;">If you choose Reload option then target table is first truncated before inserting records so be careful with Reload option.</div></div>
<div style="width: 800px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-select-table.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-select-table.png" alt="ZS Azure Table Storage Destination - Component Properties" width="790" height="509" /></a><p class="wp-caption-text">ZS Azure Table Storage Destination &#8211; Component Properties</p></div></li>
<li>Click on [Mappings] tab and verify mapping. Drop CustomerID and RecordID mappings and reconnect as shown below. This is just to make sure PrimaryKey columns are mapped.
<div style="width: 800px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-select-mappings.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-storage-destination-select-mappings.png" alt="ZS Azure Table Storage Destination - Column Mappings" width="790" height="479" /></a><p class="wp-caption-text">ZS Azure Table Storage Destination &#8211; Column Mappings</p></div></li>
<li>Click OK to save settings.</li>
<li>Execute the package and verify the target data.
<div style="width: 359px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-write-data-sample.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-write-data-sample.png" alt="ZS Azure Table Storage Destination - Execute the Package" width="349" height="317" /></a><p class="wp-caption-text">ZS Azure Table Storage Destination &#8211; Execute the Package</p></div>
<div style="width: 892px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-console-verify-record-count.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-destination/ssis-azure-table-console-verify-record-count.png" alt="ZS Azure Table Storage Verify Customers Table Data" width="882" height="413" /></a><p class="wp-caption-text">ZS Azure Table Storage &#8211; Verify Customers Table Data</p></div></li>
</ol>
<h2>Read data using ZS Azure Table Storage Source</h2>
<p>In this tutorial, you will learn how to read data from Azure Table Storage in SSIS using the ZS Azure Table Storage Source adapter. In this SSIS we will read data with SQL Query and Table Mode. So Let&#8217;s begin it.</p>
<ol>
<li>You may proceed to create a new SSIS package. In BIDS/SSDT create a new SSIS package.</li>
<li>From the SSIS toolbox drag and drop Data Flow Task on the control flow designer surface.
<div style="width: 470px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/drag-and-drop-data-flow-task.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/drag-and-drop-data-flow-task.png" alt="SSIS Data Flow Task - Drag and Drop" width="460" height="155" /></a><p class="wp-caption-text">SSIS Data Flow Task &#8211; Drag and Drop</p></div></li>
<li>Double click on the DataFlow task to see DataFlow designer surface.</li>
<li>From the SSIS toolbox drag and drop Azure Table Storage Source on the data flow designer surface.
<div style="width: 538px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-drag.png" alt="ZS Azure Table Storage Source - Drag and Drop" width="528" height="99" /></a><p class="wp-caption-text">ZS Azure Table Storage Source &#8211; Drag and Drop</p></div></li>
<li>Now, we need an Azure Storage connection. Click <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/azure-storage-connection-manager.htm" target="_blank" rel="noopener">here</a> to Create Connection.</li>
</ol>
<h3>Extract data with Query Mode</h3>
<ol>
<li>Here, we are getting data using Query Mode with Dynamic expression value.</li>
<li>Lets, create a Variable with correct DataType and Value, use the following image.
<div style="width: 442px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-create-variable.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-create-variable.png" alt="SSIS Variables - Create Variable and Store Value" width="432" height="133" /></a><p class="wp-caption-text">SSIS Variables &#8211; Create Variable and Store Value</p></div></li>
<li>Double click Azure Table Storage Source to configure it.</li>
<li>Select the connection we have created before, set AccessMode to Query. You can use the following SQL Query and select Variable. Click here for more <a href="https://zappysys.com/onlinehelp/ssis-powerpack/index.htm#page=azure-table-storage-source.htm#A_QueryLanguage" target="_blank" rel="noopener">Azure Table Storage Query Examples.</a><br />
<pre class="crayon-plain-tag">SELECT * FROM Customers
WHERE Country = '{{User::varCountry}}'</pre>
<div style="width: 850px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-query-data-preview.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-query-data-preview.png" alt="ZS Azure Table Storage Source - Configure Query Mode" width="840" height="673" /></a><p class="wp-caption-text">ZS Azure Table Storage Source &#8211; Configure Query Mode</p></div></li>
<li>Click on the Preview button to see Data Preview and OK button to save configure setting UI.</li>
<li>From the SSIS toolbox drag and drop Trash Destination on the data flow designer surface.
<div style="width: 529px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ssis-trash-destination-adapter-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ssis-trash-destination-adapter-drag.png" alt="ZS Trash Destination - Drag and Drop" width="519" height="121" /></a><p class="wp-caption-text">ZS Trash Destination &#8211; Drag and Drop</p></div></li>
<li>Now single click on the Azure Table Storage Source, once you see the blue arrow from the source &#8230; connect it to Trash Destination.</li>
<li>Double click on ZS Trash Destination to Configure it.
<div style="width: 622px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ui-trash-destination-settings.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ui-trash-destination-settings.png" alt="ZS Trash Destination - Configure" width="612" height="523" /></a><p class="wp-caption-text">ZS Trash Destination &#8211; Configure</p></div></li>
<li>Click on the OK button to save Trash Destination configure setting UI.</li>
<li>Execute the package and verify source data in the data viewer.
<div style="width: 282px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-extract-data-query-mode.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-extract-data-query-mode.png" alt="SSIS ZS Azure Table Storage Source - Execute the Package" width="272" height="314" /></a><p class="wp-caption-text">SSIS ZS Azure Table Storage Source &#8211; Execute the Package</p></div></li>
</ol>
<h3>Extract data with Table Mode</h3>
<ol>
<li>So, Double click Azure Table Storage Source to configure it.</li>
<li>In the Azure Table Storage Source, Select the connection we have created, set AccessMode to Table and Select Table from the Tables dropdown.
<div style="width: 646px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-table-data-preview.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-table-data-preview.png" alt="SSIS ZS Azure Table Source - Configure Table Mode" width="636" height="473" /></a><p class="wp-caption-text">SSIS ZS Azure Table Source &#8211; Configure Table Mode</p></div></li>
<li>Click on the Preview button to see Data Preview and OK button to save configure setting UI.</li>
<li>From the SSIS toolbox drag and drop Trash Destination on the data flow designer surface.
<div style="width: 529px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ssis-trash-destination-adapter-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ssis-trash-destination-adapter-drag.png" alt="ZS Trash Destination - Drag and Drop" width="519" height="121" /></a><p class="wp-caption-text">ZS Trash Destination &#8211; Drag and Drop</p></div></li>
<li>Now single click on the Azure Table Storage Source, once you see the blue arrow from the source &#8230; connect it to Trash Destination.</li>
<li>Double click on ZS Trash Destination to Configure it.
<div style="width: 622px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ui-trash-destination-settings.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/trash-destination/ui-trash-destination-settings.png" alt="ZS Trash Destination - Configure" width="612" height="523" /></a><p class="wp-caption-text">ZS Trash Destination &#8211; Configure</p></div></li>
<li>Click on the OK button to save Trash Destination configure setting UI.</li>
<li>In the last, Execute the package and verify source data in the data viewer.
<div style="width: 283px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-extract-data-sample.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/azure-table-storage-source/ssis-azure-table-storage-source-extract-data-sample.png" alt="ZS Azure Table Storage Source - Execute the Package" width="273" height="310" /></a><p class="wp-caption-text">ZS Azure Table Storage Source &#8211; Execute the Package</p></div></li>
</ol>
<h2>Conclusion</h2>
<p>After all, In this blog, we learned how to write data in Azure Table Storage in SSIS. We used the Azure Table Storage Destination for write and Azure Table Storage Source to read data from Microsoft Azure Table Storage using Query and Table mode. You can <a href="https://zappysys.com/products/ssis-powerpack/">download SSIS PowerPack here</a> to try many other scenarios not discussed in this blog along with 70+ other components.</p>
<h2><span id="References">References</span></h2>
<p>There are a few details you should use the following links for more information:</p>
<ul>
<li><a href="https://zappysys.com/products/ssis-powerpack/ssis-azure-table-storage-destination/" target="_blank" rel="noopener">Azure Table Storage Destination</a></li>
<li><a href="https://zappysys.com/products/ssis-powerpack/ssis-azure-table-storage-source/" target="_blank" rel="noopener">Azure Table Storage Source</a></li>
<li><a href="https://zappysys.com/blog/category/ssis/components/ssis-trash-destination/" target="_blank" rel="noopener">ZS Trash Destination</a></li>
<li><a href="https://docs.microsoft.com/en-us/azure/cosmos-db/table-storage-overview" target="_blank" rel="noopener">Microsoft Azure Table Storage</a></li>
<li><strong>Help File:</strong>
<ul>
<li><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/azure-table-storage-destination.htm" target="_blank" rel="noopener">Azure Table Storage Destination</a></li>
<li><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/azure-table-storage-source.htm" target="_blank" rel="noopener">Azure Table Storage Source</a></li>
<li><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/trash-destination.htm" target="_blank" rel="noopener">ZS Trash Destination</a></li>
</ul>
</li>
</ul>
<p>The post <a href="https://zappysys.com/blog/read-write-azure-table-storage-data-ssis/">How to Read/Write Azure Table Storage data in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
