<?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>Task Archives | ZappySys Blog</title>
	<atom:link href="https://zappysys.com/blog/tag/task/feed/" rel="self" type="application/rss+xml" />
	<link>https://zappysys.com/blog/tag/task/</link>
	<description>SSIS / ODBC Drivers / API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more</description>
	<lastBuildDate>Mon, 02 May 2022 12:01:01 +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>Task Archives | ZappySys Blog</title>
	<link>https://zappysys.com/blog/tag/task/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Execute SQL query against Amazon Redshift in SSIS</title>
		<link>https://zappysys.com/blog/execute-sql-query-amazon-redshift-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Wed, 14 Aug 2019 12:43:11 +0000</pubDate>
				<category><![CDATA[SSIS Amazon Redshift ExecuteSQL Task]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[CREATE]]></category>
		<category><![CDATA[DROP]]></category>
		<category><![CDATA[Execute]]></category>
		<category><![CDATA[redshift]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[table]]></category>
		<category><![CDATA[Task]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=7760</guid>

					<description><![CDATA[<p>Introduction ZappySys provide high-performance drag and drop connectors for Amazon Redshift Integration. In previous post we saw how to read / write Amazon Redshift data in SSIS. Now in this post, you will see how to Execute SQL query against Amazon Redshift in SSIS using ZS Amazon Redshift ExecuteSQL Task. SSIS Redshift Execute SQL Task can be [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/execute-sql-query-amazon-redshift-ssis/">Execute SQL query against Amazon Redshift in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-amazon-redshift-executesql-task.png"><img decoding="async" class="size-full wp-image-7765 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2019/08/ssis-amazon-redshift-executesql-task.png" alt="" width="128" height="128" /></a>ZappySys provide high-performance drag and drop connectors for Amazon Redshift Integration. In previous post we saw <a href="https://zappysys.com/blog/read-write-amazon-redshift-data-ssis/" target="_blank" rel="noopener">how to read / write Amazon Redshift data in SSIS</a>. Now in this post, you will see how to Execute SQL query against Amazon Redshift in SSIS using ZS Amazon Redshift ExecuteSQL Task. <em>SSIS Redshift Execute SQL Task</em> can be used to send any SQL queries to Redshift Cluster without needing ODBC driver. You can Issue various SQL commands such as DROP, COPY, UNLOAD, CREATE, etc very easily. Load query at runtime from variable, file or Direct value. You can also issue SQL query to fetch resultset to store in variable and then <a href="https://zappysys.com/blog/get-list-of-files-and-folders-in-ssis-for-looping/" target="_blank" rel="noopener">loop records using this technique</a>.</p>
<p>&nbsp;</p>
<h2>Prerequisite</h2>
<ol>
<li>First, you will need to have SSIS installed</li>
<li>Secondly, make sure to have SSDT</li>
<li>Thirdly, You have obtained Amazon Redshift Credential.</li>
<li>Finally, do not forget to install <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack.</a></li>
</ol>
<h2>Component Mention 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/images/SSIS-PowerPack/SSIS-Amazon-Redshift-ExecuteSQL-Task.png" target="_blank" rel="noopener"><img decoding="async" class="alignnone wp-image-3074" src="https://zappysys.com/images/SSIS-PowerPack/SSIS-Amazon-Redshift-ExecuteSQL-Task.png" alt="" width="40" height="40" /></a></td>
<td style="height: 22px;width: 247px"><a href="https://zappysys.com/products/ssis-powerpack/ssis-redshift-execute-sql-task/" target="_blank" rel="noopener">Amazon Redshift ExecuteSQL Task</a></td>
</tr>
</tbody>
</table>
</div>
<h2>What is Amazon Redshift</h2>
<p>Before we talk Execute SQL query against Amazon Redshift in SSIS lets talk what is <em>Amazon Redshift</em> (or sometimes referred to as <em>AWS Redshift</em>). <b>Amazon Redshift</b> is a Cloud-based Data warehouse service. This type of system also referred to as MPP (Massively Parallel Processing). <b>Amazon Redshift</b> uses a highly modified version of PostGrey SQL Engine behind the scene. Amazon Redshift provides the advantage of Scale as you go, at a very low cost compared to onsite dedicated hardware/software approach. In this article, we will try to learn <em>how to Execute SQL query against Amazon Redshift in SSIS</em>.</p>
<h2><span id="Getting_Started">Getting Started</span></h2>
<p>In order to start, we will show several examples. ZappySys includes an Amazon Redshift ExecuteSQL Task, that will help you how to Create and Drop table by Execute SQL query against Amazon Redshift in SSIS. You can connect to your Amazon Redshift Account by entering credentials.</p>
<h2>Execute SQL query against Amazon Redshift in SSIS</h2>
<p>Let&#8217;s start with an example, In this tutorial, we will learn how to CREATE and DROP table using SQL query against Amazon Redshift ExecuteSQL server using ZS Amazon Redshift ExecuteSQL Task.</p>
<ol>
<li>In order to connect to the Amazon Redshift Database from SSIS, you will need credentials. Ask your SysAdmin or responsible person to provide that you.</li>
<li>Once you finished the first step, Open Visual Studio and Create New SSIS Package Project.</li>
<li>In your SSIS toolbox, you should see many new Icons starting with “ZS” (i.e. ZappySys). If you don’t see them then <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/getting-started.htm" target="_blank" rel="noopener">check this.</a></li>
<li>Here, In Visual Studio, drag and drop the Amazon Redshift ExecuteSQL Task in the design surface.
<div style="width: 585px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-executesql-task/ssis-amazon-redshift-executeSql-task-drag-drop.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-executesql-task/ssis-amazon-redshift-executeSql-task-drag-drop.png" alt="SSIS ZS Amazon Redshift ExecuteSQL Task - Drag and Drop" width="575" height="100" /></a><p class="wp-caption-text">SSIS ZS Amazon Redshift ExecuteSQL Task &#8211; Drag and Drop</p></div></li>
<li>Now we need Amazon Redshift Connection. Click <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-amazon-redshift-connection-manager.htm" target="_blank" rel="noopener">here</a> to Create Amazon Redshift Connection.</li>
<li>Double click on Amazon Redshift ExecuteSQL Task to configure it.</li>
<li>Select connection we have created before, set Sql Source Type to DirectValue, Result Type to FullResultSet and select object Datatype Variable and Use following SQL Query for Amazon Redshift.<br />
<pre class="crayon-plain-tag">DROP TABLE IF EXISTS CustomerData;
CREATE TABLE CustomerData(
	Id bigint NULL,
	CustomerID VARCHAR(5) NOT NULL,
	CustomerName VARCHAR(50) NOT NULL,
	ContactName VARCHAR(40) NOT NULL,
	CustomerCity VARCHAR(50) NOT NULL
)</pre>
<div style="width: 646px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-executesql-task/ssis-amazon-redshift-execute-sql-task-direct-sql-query.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-executesql-task/ssis-amazon-redshift-execute-sql-task-direct-sql-query.png" alt="Execute SQL query against Amazon Redshift in SSIS" width="636" height="582" /></a><p class="wp-caption-text">SSIS Amazon Redshift ExecuteSQL Task &#8211; Configure</p></div></li>
<li>Click on OK button to save configure setting UI.</li>
<li>That&#8217;s all, right-click on the task and run or Execute. This should create a new table in Redshift.
<div style="width: 385px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-executesql-task/ssis-amazon-redshift-executesql-task-execute.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/amazon-redshift-executesql-task/ssis-amazon-redshift-executesql-task-execute.png" alt="SSIS ZS Amazon Redshift ExecuteSQL Task - Run or Execute" width="375" height="203" /></a><p class="wp-caption-text">Run or Execute SSIS ZS ExecuteSQL Task Package</p></div></li>
</ol>
<h2>Conclusion</h2>
<p>After all, In this blog, we learned how to Execute SQL query against Amazon Redshift in SSIS using ZS Amazon Redshift ExecuteSQL Task. 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>References</h2>
<p>Finally, you can use the following links for more information:</p>
<ul>
<li><a href="https://docs.aws.amazon.com/redshift/?id=docs_gateway" target="_blank" rel="noopener">Amazon Redshift Document</a></li>
<li><strong>Help File:</strong> <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/amazon-redshift-executesql-task.htm" target="_blank" rel="noopener">SSIS ZS Amazon Redshift ExecuteSQL Task</a></li>
</ul>
<p>The post <a href="https://zappysys.com/blog/execute-sql-query-amazon-redshift-ssis/">Execute SQL query against Amazon Redshift in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Execute SQL query against PostgreSQL in SSIS</title>
		<link>https://zappysys.com/blog/execute-sql-query-against-postgresql-in-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Thu, 08 Aug 2019 14:20:27 +0000</pubDate>
				<category><![CDATA[SSIS PostgreSQL ExecuteSQL Task]]></category>
		<category><![CDATA[Command]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[ExecuteSQL]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[Task]]></category>
		<category><![CDATA[ZappySys]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=7654</guid>

					<description><![CDATA[<p>Introduction ZappySys provides high-performance drag and drop connectors for PostgreSQL Integration. In this post you will see how to Execute SQL query against PostgreSQL in SSIS, in various SQL commands such as SELECT, INSERT, DROP, COPY, CREATE, etc using PostgreSQL Execute SQL Task can be used to execute DDL and DML statements for PostgreSQL without needing any [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/execute-sql-query-against-postgresql-in-ssis/">Execute SQL query against PostgreSQL in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2019/08/postgresql-logo.png"><img loading="lazy" decoding="async" class="size-thumbnail wp-image-7656 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2019/08/postgresql-logo-150x150.png" alt="" width="150" height="150" /></a></p>
<p>ZappySys provides high-performance drag and drop connectors for PostgreSQL Integration. In this post you will see how to Execute SQL query against PostgreSQL in SSIS, in various SQL commands such as SELECT, INSERT, DROP, COPY, CREATE, etc using PostgreSQL Execute SQL Task can be used to execute DDL and DML statements for PostgreSQL without needing any extra driver. PostgreSQL is a powerful, open-source relational database with a strong reputation for reliability, feature robustness, and performance.</p>
<p>In nutshell, this post will focus on how to Execute SQL query against PostgreSQL in just a few clicks.</p>
<h2><span id="Prerequisite">Prerequisite</span></h2>
<ol>
<li>First, you will need to have SSIS installed</li>
<li>Secondly, make sure to have SSDT</li>
<li>Thirdly, You have obtained PostgreSQL Credential.</li>
<li>Finally, do not forget to install <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack</a></li>
</ol>
<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/postgresql-executesql-task/ssis-postgresql-executesql-task.png"><img loading="lazy" decoding="async" class="alignnone wp-image-3074" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/postgresql-executesql-task/ssis-postgresql-executesql-task.png" alt="" width="40" height="40" /></a></td>
<td style="height: 22px;width: 247px"><a href="https://zappysys.com/products/ssis-powerpack/ssis-postgresql-executesql-task/" target="_blank" rel="noopener">PostgreSQL Execute SQL Task</a></td>
</tr>
</tbody>
</table>
</div>
<h2><span id="What_is_PostgreSQL">What is PostgreSQL?</span></h2>
<p>PostgreSQL is a powerful, open source object-relational database system that uses and extends the SQL language combined with many features that safely store and scale the most complicated data workloads. The origins of PostgreSQL date back to 1986 as part of the <a href="https://www.postgresql.org/docs/current/history.html" target="_blank" rel="noopener">POSTGRES</a> project at the University of California at Berkeley and has more than 30 years of active development on the core platform.</p>
<p>PostgreSQL has earned a strong reputation for its proven architecture, reliability, data integrity, robust feature set, extensibility, and the dedication of the open source community behind the software to consistently deliver performant and innovative solutions. PostgreSQL runs on <a href="https://www.postgresql.org/download/" target="_blank" rel="noopener">all major operating systems</a>, has been <a href="https://en.wikipedia.org/wiki/ACID" target="_blank" rel="noopener">ACID</a>-compliant since 2001, and has powerful add-ons such as the popular <a href="https://postgis.net/" target="_blank" rel="noopener">PostGIS</a> geospatial database extender. It is no surprise that PostgreSQL has become the open source relational database of choice for many people and organisations.</p>
<p><a href="https://www.postgresql.org/docs/current/tutorial.html" target="_blank" rel="noopener">Getting started</a> with using PostgreSQL has never been easier – pick a project you want to build, and let PostgreSQL safely and robustly store your data.</p>
<h3><span id="Download_and_Install_PostgreSQL">Download and Install PostgreSQL</span></h3>
<p>Please go to below download link and download the Windows version Binary package and install it and follow the steps from the installer.</p>
<p><a href="https://www.postgresql.org/download/" target="_blank" rel="noopener">https://www.postgresql.org/download/</a></p>
<div id="attachment_6774" style="width: 530px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/04/ssis-PostgreSql-download-e1555505700480.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6774" class="wp-image-6774 size-post-thumbnail" src="https://zappysys.com/blog/wp-content/uploads/2019/04/ssis-PostgreSql-download-e1555505700480-520x380.png" alt="Download PostgreSQL" width="520" height="380" /></a><p id="caption-attachment-6774" class="wp-caption-text">Download PostgreSQL</p></div>
<h3><span id="Create_PostgreSQL_Database_and_Table">Create a PostgreSQL Database</span></h3>
<ol>
<li>To do this, go to Start Menu and search for pgAdmin and we will first open the pgAdmin Panel.
<div id="attachment_6776" style="width: 434px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/04/ssis-PostgreSql-open-pgadmin.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6776" class="wp-image-6776 size-vantage-slide" src="https://zappysys.com/blog/wp-content/uploads/2019/04/ssis-PostgreSql-open-pgadmin-424x480.png" alt="Open pgAdmin from Start Menu" width="424" height="480" /></a><p id="caption-attachment-6776" class="wp-caption-text">Open pgAdmin from Start Menu</p></div></li>
<li>It will open the pgAdmin Panel in the system default browser. Select Server and Right-click on Databases to create a database.
<div id="attachment_6777" style="width: 555px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/04/ssis-PostgreSql-select-createdatabase.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6777" class="wp-image-6777 size-post-thumbnail" src="https://zappysys.com/blog/wp-content/uploads/2019/04/ssis-PostgreSql-select-createdatabase-545x380.png" alt="PostgreSQL Create Database" width="545" height="380" /></a><p id="caption-attachment-6777" class="wp-caption-text">PostgreSQL Create Database</p></div></li>
<li>Now, Enter the Database name and click on Save to create it.
<div id="attachment_6778" style="width: 727px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/04/ssis-PostgreSql-create-database.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6778" class="wp-image-6778 size-post-thumbnail" src="https://zappysys.com/blog/wp-content/uploads/2019/04/ssis-PostgreSql-create-database-717x380.png" alt="Create PostgreSQL Database" width="717" height="380" /></a><p id="caption-attachment-6778" class="wp-caption-text">Create a PostgreSQL Database</p></div></li>
</ol>
<h2>Getting Started</h2>
<p>In order to start, we will show several examples. ZappySys includes an SSIS <a href="https://zappysys.com/products/ssis-powerpack/ssis-postgresql-executesql-task/" target="_blank" rel="noopener">PostgreSQL ExecuteSQL Task</a> that will help you how to Create and Drop table by Execute SQL query against PostgreSQL in SSIS. ZS PostgreSQL ExecuteSQL Task support execute queries against PostgreSQL without ODBC driver, load query at runtime from variable, file or Direct value, 100% Managed code means its 32bit and 64bit compatible, you can issue COPY, UNLOAD commands very easily, Support for SQL Server 2017, 2016, 2014, 2012, 2008 (32/64 bit) and <a href="https://zappysys.com/blog/tag/postgresql/" target="_blank" rel="noopener">Click here</a> to see articles related to PostgreSQL.</p>
<p>You can connect to your PostgreSQL database by entering your PostgreSQL credentials.</p>
<h2>Execute SQL query against PostgreSQL in SSIS</h2>
<p>Let&#8217;s start with an example. In this tutorial, we will learn how to Create and Drop table using SQL query against PostgreSQL server using ZS PostgreSQL ExecuteSQL Task.</p>
<ol>
<li>In order to connect to the PostgreSQL Database from SSIS, you will need Credentials. Ask your SysAdmin or responsible person to provide that to you.</li>
<li>Once you finished the above steps, Open Visual Studio and Create New SSIS Package Project.</li>
<li>In Visual Studio, drag and drop the ZS PostgreSQL ExecuteSql Task in the design surface.
<div style="width: 550px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/postgreSQL-executeSql-task/ssis-drag-drop-executesql-task-postgresql.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/postgreSQL-executeSql-task/ssis-drag-drop-executesql-task-postgresql.png" alt="SSIS ZS PostgreSQL ExecuteSQL Task - Drag and Drop" width="540" height="103" /></a><p class="wp-caption-text">SSIS ZS PostgreSQL ExecuteSQL Task &#8211; Drag and Drop</p></div></li>
<li>We need a PostgreSQL Database connection. Click <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-postgresql-connection-manager.htm" target="_blank" rel="noopener">here</a> to create a connection.</li>
<li>Now, double click on ZS PostgreSQL ExecuteSql Task to configure it.</li>
<li>In the PostgreSQL ExecuteSql Task, add the following SQL code to DROP a table if it exists and CREATE a table named pg_equipment in the SQL Statement section.<br />
You can replace the table name from the following code.<br />
<pre class="crayon-plain-tag">DROP TABLE IF EXISTS playground_equip;
CREATE TABLE pg_equipment (
	equip_id serial PRIMARY KEY,
	type varchar (50) NOT NULL,
	color varchar (25) NOT NULL,
	location varchar(25) check (location in ('north', 'south', 'west', 'east', 'northeast', 'southeast', 'southwest', 'northwest')),
	install_date date
);</pre>
<div style="width: 778px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/postgreSQL-executeSql-task/ssis-sql-statement-postgresql.png" alt="SSIS ZS PostgreSQL ExecuteSQL Task - Configure" width="768" height="600" /><p class="wp-caption-text">SSIS ZS PostgreSQL ExecuteSQL Task &#8211; Configure</p></div></li>
<li>In the above step, you can Select Variable as Sql Source Type.</li>
<li>Click OK to save ZS PostgreSQL ExecuteSql Task UI settings.</li>
<li>Finally, Right Click on Task and Select Execute Task to run it.</li>
</ol>
<h2>Conclusion</h2>
<p>After all, In this blog, we learned Execute SQL query against PostgreSQL in SSIS using ZS PostgreSQL ExecuteSQL Task. 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>References</h2>
<p>Finally, you can use the following links for more information:</p>
<ul>
<li><a href="https://www.postgresql.org/about/" target="_blank" rel="noopener">About PostgreSQL</a></li>
<li><a href="https://www.postgresql.org/docs/" target="_blank" rel="noopener">PostgreSQL Documentation</a></li>
<li><a href="https://www.tutorialspoint.com/postgresql" target="_blank" rel="noopener">PostgreSQL Query</a></li>
<li><strong>Help File: </strong><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-postgresql-executesql-task.htm" target="_blank" rel="noopener">PostgreSQL ExecuteSQL Task</a></li>
</ul>
<p>The post <a href="https://zappysys.com/blog/execute-sql-query-against-postgresql-in-ssis/">Execute SQL query against PostgreSQL in SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to read Walmart API data in SSIS / ODBC</title>
		<link>https://zappysys.com/blog/read-walmart-api-data-ssis-odbc/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Wed, 10 Jul 2019 12:45:13 +0000</pubDate>
				<category><![CDATA[ODBC PowerPack]]></category>
		<category><![CDATA[REST API]]></category>
		<category><![CDATA[SSIS JSON Source (File/REST)]]></category>
		<category><![CDATA[SSIS Logging Task]]></category>
		<category><![CDATA[XML File / SOAP API Driver]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[logging]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[Task]]></category>
		<category><![CDATA[Token]]></category>
		<category><![CDATA[Walmart]]></category>
		<category><![CDATA[ZappySys]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=7380</guid>

					<description><![CDATA[<p>Introduction In this article, we will see how to read Walmart API data in SSIS and load into SQL Server. This blog mainly focuses on SSIS approach but steps mentioned to call Walmart APIs can be useful for any developer regardless of which programming language or toolset you use. Are you a Walmart.com Supplier or Marketplace [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/read-walmart-api-data-ssis-odbc/">How to read Walmart API data in SSIS / ODBC</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><span id="Introduction">Introduction</span></h2>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-7381 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2019/07/Walmart-150x150.jpg" alt="" width="128" height="128" srcset="https://zappysys.com/blog/wp-content/uploads/2019/07/Walmart-150x150.jpg 150w, https://zappysys.com/blog/wp-content/uploads/2019/07/Walmart.jpg 200w" sizes="(max-width: 128px) 100vw, 128px" />In this article, we will see how to read Walmart API data in SSIS and load into SQL Server. This blog mainly focuses on SSIS approach but steps mentioned to call Walmart APIs can be useful for any developer regardless of which programming language or toolset you use.</p>
<p>Are you a Walmart.com Supplier or Marketplace Seller? Then you may need to <a href="https://developer.walmart.com/">click here</a> to visit the site that is focused on these profiles.</p>
<p>&nbsp;</p>
<h2><span id="Prerequisites">Prerequisites</span></h2>
<p>Before we perform the steps listed in this article, you will need to make sure the following prerequisites are met:</p>
<ol>
<li><abbr title="SQL Server Integration Services">SSIS</abbr> designer installed. Sometimes it is referred to as <abbr title="Business Intelligence Development Studio">BIDS</abbr> or <abbr title="SQL Server Data Tools">SSDT</abbr> (<a href="https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt" target="_blank" rel="noopener">download it from Microsoft site</a>).</li>
<li>Basic knowledge of SSIS package development using <em>Microsoft SQL Server Integration Services</em>.</li>
<li>Make sure <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack</a> is installed (<a href="https://zappysys.com/products/ssis-powerpack/download/" target="_blank" rel="noopener">download it</a>).</li>
<li>Credentials of Walmart API. Click <a href="https://developer.walmartlabs.com/" target="_blank" rel="noopener">here</a> to create API.</li>
</ol>
<h2>Components 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="width: 1px;height: 22px"><img loading="lazy" decoding="async" class="alignnone size-medium_large" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/logging-task/ssis-logging-task.png" width="40" height="40" /></td>
<td style="width: 247px;height: 22px"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-logging-task.htm" target="_blank" rel="noopener">ZS Logging Task</a></td>
</tr>
<tr style="height: 22px">
<td style="height: 22px;width: 1px"><a href="https://zappysys.com/blog/wp-content/uploads/2016/01/SSIS-Json-Source-Adapter.png"><img loading="lazy" decoding="async" class="alignnone wp-image-3074" src="https://zappysys.com/blog/wp-content/uploads/2016/01/SSIS-Json-Source-Adapter.png" alt="" width="40" height="40" /></a></td>
<td style="height: 22px;width: 247px"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/json-source.htm" target="_blank" rel="noopener">JSON Source(REST API or File)</a></td>
</tr>
</tbody>
</table>
</div>
<h2><span id="What_is_WordPress">What is Walmart?</span></h2>
<p>Walmart is the world&#8217;s largest retailer, and the Walmart Open API provides access to our extensive product catalog, thus enabling digital distribution partners to earn substantial affiliate revenues from customer referrals.</p>
<h2><span id="Read_data_fromWordPressusing_SSIS_JSON_Source">Read Walmart API Data using SSIS JSON Source</span></h2>
<p>Let’s start with an example. We use SSIS JSON Source component to make the call to Walmart API, we will read Walmart data and load into SQL Server. First of All, Open Visual Studio and Create New SSIS Package Project.</p>
<h3><span id="Step-1_GetDynamic_Token_Configure_ZS-HTTP_Connection">Get Dynamic Token (Configure ZS-HTTP Connection)</span></h3>
<p>To get API response data using SOAP / REST API call, you need to get an API Token from your login request URL. Follow the steps mentioned below to get API Token:</p>
<ol>
<li>Now, Right Click on Connection Managers Window, and one Context menu appears for creating a new connection manager.
<div style="width: 740px" class="wp-caption aligncenter"><a href="https://i2.wp.com/zappysys.com/blog/wp-content/uploads/2018/07/ssis-connection-manager-create-new-connection-e1531164541889.png?w=730&amp;ssl=1" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://i2.wp.com/zappysys.com/blog/wp-content/uploads/2018/07/ssis-connection-manager-create-new-connection-e1531164541889.png?w=730&amp;ssl=1" alt="Create a New HTTP Connection." width="730" height="444" /></a><p class="wp-caption-text">Create a New HTTP Connection.</p></div></li>
<li>Select ZS HTTP Connection Manager from the list of Connection Managers and, double-click on it or click on Add button to add a new Connection Manager. By Default, The created connection manager is of Package-Level. You can set Project Level Connection manager too If you want.
<div style="width: 597px" class="wp-caption aligncenter"><a href="https://i2.wp.com/zappysys.com/blog/wp-content/uploads/2018/07/ssis-connection-manager-select-http-connection-manager-to-add.png?w=587&amp;ssl=1" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://i2.wp.com/zappysys.com/blog/wp-content/uploads/2018/07/ssis-connection-manager-select-http-connection-manager-to-add.png?w=587&amp;ssl=1" alt="Select ZS-HTTP Connection from SSIS Connection Manager." width="587" height="634" /></a><p class="wp-caption-text">Select ZS-HTTP Connection from SSIS Connection Manager.</p></div></li>
<li>In the SSIS ZS HTTP Connection Manager, Go to General Tab and Configure HTTP Connection Manager. Enter API URL, Set Credentials Type to Dynamic Token &#8211; Two-Step Auth, and configure some basic settings for the same. We used Login URL as just example but you can enter any valid API URL endpoint here. Actual Login URL goes on Dynamic Token Tab (see next step).<br />
<pre class="crayon-plain-tag">https://marketplace.walmartapis.com/v3/items?nextCursor=*&amp;offset=2000&amp;limit=20</pre>
<pre class="crayon-plain-tag">WM_SEC.ACCESS_TOKEN</pre>
<div id="attachment_7418" style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-http-connection-dynamic-token.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7418" class="wp-image-7418 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-http-connection-dynamic-token-768x521.png" alt="ZS HTTP Connection - Configure General Tab" width="720" height="488" srcset="https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-http-connection-dynamic-token-768x521.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-http-connection-dynamic-token-300x203.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-http-connection-dynamic-token.png 814w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-7418" class="wp-caption-text">ZS HTTP Connection &#8211; Configure General Tab</p></div></li>
<li>Now, In the Dynamic Token Tab do configure like below image. Please click <a href="https://developer.walmart.com/#/apicenter/marketPlace/latest#getToken" target="_blank" rel="noopener">here</a> to refer about Walmart API Token.<br />
<pre class="crayon-plain-tag">https://marketplace.walmartapis.com/v3/token</pre>
<pre class="crayon-plain-tag">grant_type=client_credentials</pre>
<pre class="crayon-plain-tag">Accept: application/json
Cache-Control: no-cache
WM_SVC.NAME: Walmart Marketplace
WM_QOS.CORRELATION_ID: TokenId_&lt;&lt;yyyy-MM-ddTHH:mm:ss.fffZ,FUN_GETDATE_UTC&gt;&gt;
Authorization: Basic &lt;&lt;[$userid$]:[$password$],FUN_BASE64ENC&gt;&gt;</pre>
<div id="attachment_7454" style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-http-connection-dynamic-token-configure.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7454" class="wp-image-7454 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-http-connection-dynamic-token-configure-768x668.png" alt="ZS HTTP Connection - Dynamic Token Tab" width="720" height="626" srcset="https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-http-connection-dynamic-token-configure-768x668.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-http-connection-dynamic-token-configure-300x261.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-http-connection-dynamic-token-configure.png 854w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-7454" class="wp-caption-text">ZS HTTP Connection &#8211; Dynamic Token Tab</p></div></li>
<li>On the <strong>Response Settings</strong> tab configure as below
<div id="attachment_7706" style="width: 598px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/07/wallmart-api-extract-token-from-response.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7706" class="size-full wp-image-7706" src="https://zappysys.com/blog/wp-content/uploads/2019/07/wallmart-api-extract-token-from-response.png" alt="Walmart API - Extract Token - Response Settings" width="588" height="383" srcset="https://zappysys.com/blog/wp-content/uploads/2019/07/wallmart-api-extract-token-from-response.png 588w, https://zappysys.com/blog/wp-content/uploads/2019/07/wallmart-api-extract-token-from-response-300x195.png 300w" sizes="(max-width: 588px) 100vw, 588px" /></a><p id="caption-attachment-7706" class="wp-caption-text">Walmart API &#8211; Extract Token &#8211; Response Settings</p></div>
<ol>
<li>Extract Mode = <strong>Extract from Body </strong></li>
<li>Expression Type = <strong>Json</strong></li>
<li>Response Content Filter = <pre class="crayon-plain-tag">$.access_token</pre></li>
</ol>
</li>
<li>Click on OK button to save HTTP Connection configure settings.</li>
</ol>
<p>That’s it we have successfully configured Connection for Walmart API in SSIS. In the next section, we will see how to use this connection and read various data from Walmart API.</p>
<h3><span id="Read_YouTube_Playlists_in_SSIS">Read Walmart API Data in SSIS</span></h3>
<p>Once we have done creating HTTP Connection Manager we can move forward to read Walmart API data inside Data Flow. So lets Configure SSIS JSON / REST API Source.</p>
<ol>
<li>Now, Drag and drop Data Flow Task from SSIS Toolbox in the currently open project and double click it to edit.<br />
<img class="yoast-text-mark" /></p>
<div style="width: 470px" class="wp-caption aligncenter"><a href="https://i0.wp.com/zappysys.com/onlinehelp/ssis-powerpack/scr/images/drag-and-drop-data-flow-task.png?resize=460%2C155&amp;ssl=1" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://i0.wp.com/zappysys.com/onlinehelp/ssis-powerpack/scr/images/drag-and-drop-data-flow-task.png?resize=460%2C155&amp;ssl=1" alt="Drag and Drop Data Flow Task." width="460" height="155" /></a><p class="wp-caption-text">Drag and Drop Data Flow Task.</p></div></li>
<li>Double click on the Data Flow task to see the Data Flow designer surface.</li>
<li>From the SSIS toolbox drag and drop JSON Source on the dataflow designer surface.
<div style="width: 551px" class="wp-caption aligncenter"><a href="https://i1.wp.com/zappysys.com/onlinehelp/ssis-powerpack/scr/images/json-source/ssis-json-source-adapter-drag.png?w=720&amp;ssl=1" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://i1.wp.com/zappysys.com/onlinehelp/ssis-powerpack/scr/images/json-source/ssis-json-source-adapter-drag.png?w=720&amp;ssl=1" alt="Drag and Drop JSON Source(REST API or File)." width="541" height="144" /></a><p class="wp-caption-text">Drag and Drop JSON Source(REST API or File).</p></div></li>
<li>Double click JSON Source and enter the following URL as below.<br />
<pre class="crayon-plain-tag">https://marketplace.walmartapis.com/v3/items?nextCursor=*&amp;offset=2000&amp;limit=20</pre>
</li>
<li>Check Use Credentials and select existing HTTP connection we have created already it.</li>
<li>Enter Following HTTP Headers. If you prefer Raw edit .. Just click on Raw Edit (#6 in screenshot) and paste below headers. Make sure to replace <strong>YourClientIdGoesHere</strong> and <strong>YourSecretGoesHere</strong><br />
<pre class="crayon-plain-tag">Content-Type: application/xml
Accept: application/xml
Authorization: Basic &lt;&lt;YourClientIdGoesHere:YourSecretGoesHere,FUN_BASE64ENC&gt;&gt;
WM_SVC.NAME: Walmart Marketplace
WM_QOS.CORRELATION_ID: TokenId_&lt;&lt;yyyy-MM-ddTHH:mm:ss.fffZ,FUN_GETDATE_UTC&gt;&gt;</pre>
&nbsp;</li>
<li>Select Array Filter (ItemResponse node) or type $.ItemResponse[*]  as below.
<div id="attachment_7420" style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-json-source-configure.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7420" class="wp-image-7420 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-json-source-configure-768x765.png" alt="ZS JSON Source - Configure" width="720" height="717" srcset="https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-json-source-configure-768x765.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-json-source-configure-150x150.png 150w, https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-json-source-configure-300x300.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-json-source-configure.png 826w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-7420" class="wp-caption-text">ZS JSON Source &#8211; Configure</p></div></li>
<li>That&#8217;s it, you are ready to load Wallmart API Data into SQL Server and you can use more <a href="https://zappysys.com//onlinehelp/ssis-powerpack/index.htm#page=ssis-format-specifiers.htm" target="_blank" rel="noopener">ZappySys Destination</a> components.</li>
<li>For pagination call please click <a href="https://zappysys.com/blog/ssis-rest-api-looping-until-no-more-pages-found/" target="_blank" rel="noopener">here</a> for reference to this link.</li>
</ol>
<h3>Load Walmart API data into SQL Server</h3>
<div class="content_block" id="custom_post_widget-5617"><p>ZappySys SSIS PowerPack makes it easy to load data from various sources such as REST, SOAP, JSON, XML, CSV or from other source into SQL Server, or PostgreSQL, or Amazon Redshift, or other  targets. The <strong>Upsert Destination</strong> component allows you to automatically insert new records and update existing ones based on key columns. Below are the detailed steps to configure it.</p>
<h3>Step 1: Add Upsert Destination to Data Flow</h3>
<ol>
<li>Drag and drop the <strong>Upsert Destination</strong> component from the SSIS Toolbox.</li>
<li>Connect your source component (e.g., JSON / REST / Other Source) to the Upsert Destination.</li>
</ol>
<div class="wp-caption aligncenter">
<a href="https://zappysys.com/blog/wp-content/uploads/2017/08/ssis-data-flow-drag-drop-upsert-destination.png">
<img loading="lazy" decoding="async" class="size-full" alt="" src="https://zappysys.com/blog/wp-content/uploads/2017/08/ssis-data-flow-drag-drop-upsert-destination.png" /></a>
<p class="wp-caption-text">SSIS - Data Flow - Drang and Drop Upsert Destination Component</p>
</div>
<h3>Step 2: Configure Target Connection</h3>
<ol>
<li>Double-click the <strong>Upsert Destination</strong> component to open the configuration window.</li>
<li>Under <strong>Connection</strong>, select an existing target connection or click <strong>NEW</strong> to create a new connection.
<ul>
<li>Example: SQL Server, or PostgreSQL, or Amazon Redshift.</li>
</ul>
</li>
</ol>
<h3>Step 3: Select or Create Target Table</h3>
<ol>
<li>In the <strong>Target Table</strong> dropdown, select the table where you want to load data.</li>
<li>Optionally, click <strong>NEW</strong> to create a new table based on the source columns.</li>
</ol>
<div class="wp-caption aligncenter">
<a href="https://zappysys.com/blog/wp-content/uploads/2020/09/upsert-destination-configuration.png">
<img loading="lazy" decoding="async" class="size-full" alt="" src="https://zappysys.com/blog/wp-content/uploads/2020/09/upsert-destination-configuration.png" /></a>
<p class="wp-caption-text">Configure SSIS Upsert Destination Connection - Loading data (REST / SOAP / JSON / XML /CSV) into SQL Server or other target using SSIS</p>
</div>
<h3>Step 4: Map Columns</h3>
<ol>
<li>Go to the <strong>Mappings</strong> tab.</li>
<li>Click <strong>Auto Map</strong> to map source columns to target columns by name.</li>
<li>Ensure you <strong>check the Primary key column(s)</strong> that will determine whether a record is inserted or updated.</li>
<li>You can manually adjust the mappings if necessary.</li>
</ol>
 <div class="wp-caption aligncenter">
<a href="https://zappysys.com/blog/wp-content/uploads/2020/09/upsert-destination-key.png">
<img loading="lazy" decoding="async" class="size-full" alt="" src="https://zappysys.com/blog/wp-content/uploads/2020/09/upsert-destination-key.png" /></a>
<p class="wp-caption-text">SSIS Upsert Destination - Columns Mappings</p>
</div>
<h3>Step 5: Save Settings</h3>
<ul>
<li>Click <strong>OK</strong> to save the Upsert Destination configuration.</li>
</ul>
<h3>Step 6: Optional: Add Logging or Analysis</h3>
<ul>
<li>You may add extra destination components to log the number of inserted vs. updated records for monitoring or auditing purposes.</li>
</ul>
<h3>Step 7: Execute the Package</h3>
<ul>
<li>Run your SSIS package and verify that the data is correctly inserted and updated in the target table.</li>
</ul>
<div class="wp-caption aligncenter">
<a href="https://zappysys.com/blog/wp-content/uploads/2018/12/ssis-upsert-destination-execute.png">
<img loading="lazy" decoding="async" class="size-full" alt="" src="https://zappysys.com/blog/wp-content/uploads/2018/12/ssis-upsert-destination-execute.png" /></a>
<p class="wp-caption-text">SSIS Upsert Destination Execution</p>
</div></div>
<h2>Walmart API integration using ODBC Driver (Power BI, Excel, MS Access)</h2>
<p>So far we have seen how to access Walmart API using SSIS. However there will be a time when you like to access API data inside other Apps using ODBC Driver. ZappySys Provides JSON/XML/CSV drivers for virtually any API including Walmart API. Here is how to access Walmart API using <a href="https://zappysys.com/products/odbc-powerpack/odbc-xml-soap-api-driver/" target="_blank" rel="noopener">XML ODBC Driver</a>.</p>
<ol>
<li>Type &#8220;ODBC&#8221; in Start menu. Open ODBC Data sources (64 bit)<br />
<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-data-sources-start-up-screen.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3992" src="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-data-sources-start-up-screen.png" alt="Open ODBC Data Sources from Startup menu" width="986" height="622" srcset="https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-data-sources-start-up-screen.png 986w, https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-data-sources-start-up-screen-300x189.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/06/odbc-data-sources-start-up-screen-768x484.png 768w" sizes="(max-width: 986px) 100vw, 986px" /></a></li>
<li>Click Add on User DSN tab (if you need to use DSN under different Account &#8230;i.e. Service Account then click on System DSN Tab)</li>
<li>Select <a href="https://zappysys.com/products/odbc-powerpack/odbc-xml-soap-api-driver/" target="_blank" rel="noopener"><strong>ZappySys XML Driver</strong></a></li>
<li>When New DSN UI shows up, Change DSN name to anything you like (e.g. WalmartAPI)</li>
<li>Click on <strong>Load ConnectionString</strong> button and enter below connection. Make sure to replace few things<br />
First <strong>######YourClientId#######</strong> with your own clientid<br />
Second <strong>######YourSecret#######</strong> with your own secret<br />
Third <strong>######Base64OfClientIdAndSecret#######</strong> with base64 encoded string of <pre class="crayon-plain-tag">clientId:Secret</pre>    (both separated with colon). You can use any site <a href="https://www.base64encode.org/" target="_blank" rel="noopener">like this one</a> to generate base64 string of your clientid and secret (seperated by &#8220;:&#8221;)<br />
<pre class="crayon-plain-tag">DRIVER={ZappySys XML Driver};
ElementsToTreatAsArray='ns2:ItemResponse';
DataPath='https://marketplace.walmartapis.com/v3/items?nextCursor=*&amp;offset=2000&amp;limit=20';
DataConnectionType=HTTP;
AuthScheme='{none}';
Url='https://marketplace.walmartapis.com/v3/items?nextCursor=*&amp;offset=2000&amp;limit=20';
TokenUrl='https://marketplace.walmartapis.com/v3/token';
TokenRequestData='grant_type=client_credentials';
TokenRequestMethod='POST';
TokenResponseContentFilter='$.access_token';
TokenRequestHeaders='Accept:application/json||Cache-Control:no-cache||WM_SVC.NAME:Walmart Marketplace||WM_QOS.CORRELATION_ID:TokenId_&lt;&lt;yyyy-MM-ddTHH:mm:ss.fffZ,FUN_GETDATE_UTC&gt;&gt;||Authorization:Basic &lt;&lt;[$userid$]:[$password$],FUN_BASE64ENC&gt;&gt;';
TokenAuthHeader='WM_SEC.ACCESS_TOKEN';
TokenResponseContentType=Json;
UserName='######YourClientId#######';
CredentialType=TokenDynamic;
Password='######YourSecret#######';
Filter='$.ns2:ItemResponses.ns2:ItemResponse[*]';
RequestMethod='GET';
RequestHeaders='Content-Type: application/xml || Accept: application/xml || Authorization: Basic ######Base64OfClientIdAndSecret####### || WM_SVC.NAME: Walmart Marketplace || WM_QOS.CORRELATION_ID: TokenId_&lt;&lt;yyyy-MM-ddTHH:mm:ss.fffZ,FUN_GETDATE_UTC&gt;&gt;'</pre>
<div id="attachment_7712" style="width: 533px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/07/zappysys-driver-load-connection-string.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7712" class="size-full wp-image-7712" src="https://zappysys.com/blog/wp-content/uploads/2019/07/zappysys-driver-load-connection-string.png" alt="ZappySys Driver - Load Connection String" width="523" height="499" srcset="https://zappysys.com/blog/wp-content/uploads/2019/07/zappysys-driver-load-connection-string.png 523w, https://zappysys.com/blog/wp-content/uploads/2019/07/zappysys-driver-load-connection-string-300x286.png 300w" sizes="(max-width: 523px) 100vw, 523px" /></a><p id="caption-attachment-7712" class="wp-caption-text">ZappySys Driver &#8211; Load Connection String</p></div>
<p>&nbsp;</li>
<li>Now go to preview tab and enter below query and click Run below SQL.</p><pre class="crayon-plain-tag">select * from $</pre><p>
<strong>&#8211;OR&#8211;<br />
</strong>NOTE: Change <strong>YourClientId</strong> and <strong>YourSecret</strong> in below sql before running</p><pre class="crayon-plain-tag">SELECT * FROM $
WITH(
Src='https://marketplace.walmartapis.com/v3/items?nextCursor=*&amp;offset=2000&amp;limit=20'
,Header='Content-Type: application/xml
Accept: application/xml
Authorization: Basic &lt;&lt;YourClientid:YourSecret,FUN_BASE64ENC&gt;&gt;
WM_SVC.NAME: Walmart Marketplace
WM_QOS.CORRELATION_ID: TokenId_&lt;&lt;yyyy-MM-ddTHH:mm:ss.fffZ,FUN_GETDATE_UTC&gt;&gt;'
)</pre><p>
&nbsp;</li>
</ol>
<h2>Walmart API Integration with Other BI Tools (Power BI, Excel, SSRS, MS Access&#8230;)</h2>
<div class="content_block" id="custom_post_widget-7051">ZappySys ODBC Drivers built using ODBC standard which is widely adopted by industry for a long time. Which mean the majority of BI Tools / Database Engines / ETL Tools already there will support native / 3rd party ODBC Drivers. Below is the small list of most popular tools / programming languages our Drivers support. If your tool / programming language doesn't appear in the below list, which means we have not documented use case but as long as your tool supports ODBC Standard, our drivers should work fine.

&nbsp;

<img loading="lazy" decoding="async" class="" src="//zappysys.com/images/odbc-powerpack/odbc-powerpack-integration.jpg" alt="ZappySys ODBC Drivers for REST API, JSON, XML - Integrate with Power BI, Tableau, QlikView, QlikSense, Informatica PowerCenter, Excel, SQL Server, SSIS, SSAS, SSRS, Visual Studio / WinForm / WCF, Python, C#, VB.net, PHP. PowerShell " width="750" height="372" />
<table style="valign: top;">
<tbody>
<tr>
<td>
<p style="text-align: center;"><strong>BI / Reporting Tools
Integration</strong></p>
</td>
<td style="text-align: center;"><strong>ETL Tools
Integration
</strong></td>
<td style="text-align: center;"><strong>Programming Languages</strong>
<strong>Integration</strong></td>
</tr>
<tr>
<td>
<ul>
 	<li><a href="https://zappysys.com/blog/howto-import-json-rest-api-power-bi/" target="_blank" rel="noopener">Microsoft Power BI</a></li>
 	<li><a href="https://zappysys.com/blog/import-rest-api-tableau-read-json-soap-xml-csv/">Tableau</a></li>
 	<li><a href="https://zappysys.com/blog/read-rest-api-using-ssrs-reports-call-json-xml-web-service/" target="_blank" rel="noopener">SSRS (SQL Reporting Services)</a></li>
 	<li><a href="https://zappysys.com/blog/qlik-rest-connector-examples-read-json-xml-api/" target="_blank" rel="noopener">QlikView /Qlik Sense</a></li>
 	<li><a href="https://zappysys.com/blog/call-rest-api-in-microstrategy-json-soap-xml/" target="_blank" rel="noopener">MicroStrategy</a></li>
 	<li><a href="https://zappysys.com/blog/import-rest-api-google-sheet-call-appscript-load-json-soap-xml-csv/" target="_blank" rel="noopener">Google Sheet</a></li>
 	<li><a href="https://zappysys.com/blog/import-json-excel-load-file-rest-api/" target="_blank" rel="noopener">Microsoft Excel</a></li>
 	<li><a href="https://zappysys.com/api/integration-hub/rest-api-connector/access?context=connector" target="_blank" rel="noopener">Microsoft Access</a></li>
 	<li>Oracle OBIEE</li>
 	<li>Many more (not in this list).....</li>
</ul>
</td>
<td>
<ul>
 	<li><a href="https://zappysys.com/blog/read-json-informatica-import-rest-api-json-file/" target="_blank" rel="noopener">Informatica PowerCenter</a> (Windows)</li>
 	<li>Informatica Cloud</li>
 	<li>SSIS (SQL Integration Services)</li>
 	<li><a href="https://zappysys.com/blog/import-rest-api-json-sql-server/" target="_blank" rel="noopener">SQL Server</a></li>
 	<li><a href="https://zappysys.com/blog/read-write-rest-api-data-in-talend-json-xml-soap/" target="_blank" rel="noopener">Talend Data Studio</a></li>
 	<li><a href="https://zappysys.com/blog/pentaho-read-rest-api-in-pentaho/" target="_blank" rel="noopener">Pentaho Kettle</a></li>
 	<li>Oracle OBIEE</li>
 	<li>Many more (not in this list).....</li>
</ul>
</td>
<td>
<ul>
 	<li>Visual Studio</li>
 	<li><a href="https://zappysys.com/blog/calling-rest-api-in-c/" target="_blank" rel="noopener">C#</a></li>
 	<li>C++</li>
 	<li><a href="https://zappysys.com/blog/connect-java-to-rest-api-json-soap-xml/" target="_blank" rel="noopener">JAVA</a></li>
 	<li><a href="https://zappysys.com/blog/set-rest-python-client/" target="_blank" rel="noopener">Python</a></li>
 	<li>PHP</li>
 	<li><a href="https://zappysys.com/blog/call-rest-api-powershell-script-export-json-csv/" target="_blank" rel="noopener">PowerShell</a></li>
 	<li><a href="https://zappysys.com/blog/import-rest-api-json-sql-server/" target="_blank" rel="noopener">T-SQL (Using Linked Server)</a></li>
</ul>
</td>
</tr>
</tbody>
</table>
&nbsp;</div>
<h2>How to encrypt Authorization Token as Base64Encode</h2>
<ol>
<li>If you want to directly pass Authorization header Token as Base64Encode(clientId:clientSecret) encrypted in the get token call, you can encrypted it using ZS Logging task and used it. Please refer to this <a href="https://zappysys.com//onlinehelp/ssis-powerpack/index.htm#page=ssis-format-specifiers.htm" target="_blank" rel="noopener">link</a> for the same.</li>
<li>In visual studio just Drag and Drop ZS Logging Task in the design panel.
<div style="width: 405px" class="wp-caption aligncenter"><a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/logging-task/ssis-logging-task-drag.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/logging-task/ssis-logging-task-drag.png" alt="Drag and Drop ZS Logging Task" width="395" height="80" /></a><p class="wp-caption-text">Drag and Drop ZS Logging Task</p></div></li>
<li>Double click on ZS Logging Task to configure it.</li>
<li>In the ZS Logging Task configure like the following image.
<div id="attachment_7453" style="width: 730px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-encrypted-authorization-token-using-zs-logging-task.png" target="_blank" rel="noopener"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7453" class="wp-image-7453 size-medium_large" src="https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-encrypted-authorization-token-using-zs-logging-task-768x426.png" alt="Logging Task : Base64Enocde " width="720" height="399" srcset="https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-encrypted-authorization-token-using-zs-logging-task-768x426.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-encrypted-authorization-token-using-zs-logging-task-300x167.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-encrypted-authorization-token-using-zs-logging-task-1024x569.png 1024w, https://zappysys.com/blog/wp-content/uploads/2019/07/ssis-walmart-encrypted-authorization-token-using-zs-logging-task.png 1050w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-7453" class="wp-caption-text">Logging Task : Base64Enocde</p></div></li>
<li>That&#8217;s all, Save Base64Encoded token for use in HTTP Connection.</li>
</ol>
<h2><span id="Conclusion">Conclusion</span></h2>
<p>After all, we saw you how to extract information from REST API such as Walmart REST API using HTTP Connection and load into SQL Server. We also learned techniques like How to get Dynamic Token using HTTP Connection. To explore many other scenarios not discussed in this article download <a href="https://zappysys.com/products/ssis-powerpack/">SSIS PowerPack from here (includes 70+ Components)</a>.</p>
<h2><span id="References">References</span></h2>
<p>Finally, you can use the following links for more information:</p>
<ul style="list-style-type: circle;">
<li>Help File: <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/json-source.htm" target="_blank" rel="noopener">JSON Source(REST API or File)</a>, <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-logging-task.htm" target="_blank" rel="noopener">ZS Logging Task</a></li>
<li>Walmart API: <a href="https://developer.walmart.com/#/apicenter/marketPlace/latest#getToken" target="_blank" rel="noopener">HTTP Connection</a></li>
</ul>
<p>The post <a href="https://zappysys.com/blog/read-walmart-api-data-ssis-odbc/">How to read Walmart API data in SSIS / ODBC</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to delay SSIS execution using Timer Task</title>
		<link>https://zappysys.com/blog/delay-ssis-tasks/</link>
		
		<dc:creator><![CDATA[ZappySys Team]]></dc:creator>
		<pubDate>Fri, 21 Jun 2019 22:27:57 +0000</pubDate>
				<category><![CDATA[SSIS Timer Task]]></category>
		<category><![CDATA[delay]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[Task]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=7260</guid>

					<description><![CDATA[<p>Sometimes we need to delay task in SSIS and there is no simple way to do it. In this article, we will show a simple free task to do it. We will delay 1 minute a task and then we will show how to delay until a specific day and time. &#160; How to delay SSIS tasks [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/delay-ssis-tasks/">How to delay SSIS execution using Timer Task</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/SSIS-Timer-Task.png"><img loading="lazy" decoding="async" class="size-full wp-image-7315 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2019/06/SSIS-Timer-Task.png" alt="SSIS timer logo" width="128" height="128" /></a>Sometimes we need to delay task in SSIS and there is no simple way to do it. In this article, we will show a simple free task to do it. We will delay 1 minute a task and then we will show how to delay until a specific day and time.</p>
<h2></h2>
<h2></h2>
<p>&nbsp;</p>
<div class="content_block" id="custom_post_widget-2523"><h2><span id="Prerequisites">Prerequisites</span></h2>
Before we perform the steps listed in this article, you will need to make sure the following prerequisites are met:
<ol style="margin-left: 1.5em;">
 	<li><abbr title="SQL Server Integration Services">SSIS</abbr> designer installed. Sometimes it is referred to as <abbr title="Business Intelligence Development Studio">BIDS</abbr> or <abbr title="SQL Server Data Tools">SSDT</abbr> (<a href="https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt" target="_blank" rel="noopener">download it from the Microsoft site</a>).</li>
 	<li>Basic knowledge of SSIS package development using <em>Microsoft SQL Server Integration Services</em>.</li>
 	<li>Make sure <span style="text-decoration: underline;"><a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack</a></span> is installed (<a href="https://zappysys.com/products/ssis-powerpack/download/" target="_blank" rel="noopener">download it</a>, if you haven't already).</li>
 	<li>(<em>Optional step</em>)<em>.</em> <a href="https://zappysys.zendesk.com/hc/en-us/articles/360035974593" target="_blank" rel="noopener">Read this article</a>, if you are planning to deploy packages to a server and schedule their execution later.</li>
</ol></div>
<h2>How to delay SSIS tasks using SSIS Timer Task</h2>
<ol>
<li>In order to solve this problem, you need to download this free tool and use it. ZS Timer task does not require too many explanations to use it. It is simple. You just specify the time to wait.</li>
<li>Secondly, we will have a package like this one:
<div class="mceTemp"></div>
<div id="attachment_7269" style="width: 356px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-wait-time-complete-package.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7269" class="size-full wp-image-7269" src="https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-wait-time-complete-package.png" alt="Timer task to wait specified time" width="346" height="291" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-wait-time-complete-package.png 346w, https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-wait-time-complete-package-300x252.png 300w" sizes="(max-width: 346px) 100vw, 346px" /></a><p id="caption-attachment-7269" class="wp-caption-text">Package with SSIS timer task</p></div></li>
<li>Also, we need to wait 1 minute in order to have everything ready for the<br />
execution of the next package:</p>
<div id="attachment_7267" style="width: 546px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-wait-1-minute.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7267" class="size-full wp-image-7267" src="https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-wait-1-minute.png" alt="Wait in SSIS 1 minute" width="536" height="473" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-wait-1-minute.png 536w, https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-wait-1-minute-300x265.png 300w" sizes="(max-width: 536px) 100vw, 536px" /></a><p id="caption-attachment-7267" class="wp-caption-text">SSIS delay task 1 minute</p></div></li>
<li>Finally, it is possible to wait days, hours, minutes and seconds.</li>
</ol>
<h2>Delay SSIS tasks to a specific date</h2>
<ol>
<li>It is also possible to run the package using the ZS Timer task and execute the timer task to specific data.</li>
<li>In order to do this we will use the following configuration:
<div id="attachment_7312" style="width: 546px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-timer-delay-specific-date.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7312" class="size-full wp-image-7312" src="https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-timer-delay-specific-date.png" alt="Wait SSIS task in specific date" width="536" height="473" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-timer-delay-specific-date.png 536w, https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-timer-delay-specific-date-300x265.png 300w" sizes="(max-width: 536px) 100vw, 536px" /></a><p id="caption-attachment-7312" class="wp-caption-text">SSIS delay task until a date</p></div></li>
<li>In this example, the configuration provided will run on June 11, 2019.</li>
<li>Also, remember to uncheck the option Ignore date part. This option is checked by default and disables the date.</li>
</ol>
<h2>Delay SSIS tasks to a specific time</h2>
<ol>
<li>The next example will be used to run the task in a customized time.</li>
<li>First of all, we will configure the time to 13:02:01. This means that the task will run at that time:
<div id="attachment_7271" style="width: 559px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-run-specific-time.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7271" class="size-full wp-image-7271" src="https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-run-specific-time.png" alt="Execute the task in SSIS at a customized time" width="549" height="473" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-run-specific-time.png 549w, https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-run-specific-time-300x258.png 300w" sizes="(max-width: 549px) 100vw, 549px" /></a><p id="caption-attachment-7271" class="wp-caption-text">Run SSIS task at specific time</p></div></li>
<li>Also, note that by default the ignore date part is checked.</li>
</ol>
<h2>Delay SSIS tasks from a variable</h2>
<ol>
<li>We will show how to get the date from a variable. We will store the time from a variable and delay the task until the specified date of the variable.</li>
<li>First of all, we will create a variable of type dateTime:
<div id="attachment_7272" style="width: 583px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-datetime-variable.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7272" class="size-full wp-image-7272" src="https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-datetime-variable.png" alt="Set datetime variable" width="573" height="134" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-datetime-variable.png 573w, https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-datetime-variable-300x70.png 300w" sizes="(max-width: 573px) 100vw, 573px" /></a><p id="caption-attachment-7272" class="wp-caption-text">SSIS datetime variable</p></div></li>
<li>If the ignore date part is checked, it will run today at the time specified.
<div id="attachment_7273" style="width: 546px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-delay-task-using-variable.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7273" class="size-full wp-image-7273" src="https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-delay-task-using-variable.png" alt="Using a variable to wait some time in SSIS" width="536" height="473" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-delay-task-using-variable.png 536w, https://zappysys.com/blog/wp-content/uploads/2019/06/ssis-delay-task-using-variable-300x265.png 300w" sizes="(max-width: 536px) 100vw, 536px" /></a><p id="caption-attachment-7273" class="wp-caption-text">Timer ssis task with variable</p></div></li>
<li>Otherwise, it will run the date and time specified.</li>
</ol>
<h2>Conclusion</h2>
<p>In this article, we show how to delay SSIS tasks a custom number of days or at a specific date or time. We also learned how to set the date and time manually or using a variable.</p>
<h2>References</h2>
<ul>
<li><a href="https://zappysys.com/onlinehelp/ssis-powerpack/index.htm#page=timer-task.htm">ZS SSIS Timer task</a>.</li>
</ul>
<p>The post <a href="https://zappysys.com/blog/delay-ssis-tasks/">How to delay SSIS execution using Timer Task</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SSIS SFTP task examples to upload, download, move and delete files / folders</title>
		<link>https://zappysys.com/blog/ssis-sftp-task-examples-upload-download-move-delete-files-folders/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Mon, 12 Mar 2018 21:45:40 +0000</pubDate>
				<category><![CDATA[SSIS SFTP Task]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[ftps]]></category>
		<category><![CDATA[sftp]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[Task]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=2981</guid>

					<description><![CDATA[<p>Introduction &#8211; Using SSIS SFTP task (FTP, SFTP, FTPS) In this article, we will show SSIS SFTP task examples. This task supports multiple protocols (Classic FTP, SFTP, FTPS). Uploading files using SFTP or downloading files are common requirements in SSIS. In order to work with FTP, Microsoft SSIS includes the FTP Task that allows to [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/ssis-sftp-task-examples-upload-download-move-delete-files-folders/">SSIS SFTP task examples to upload, download, move and delete files / folders</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction &#8211; Using SSIS SFTP task (FTP, SFTP, FTPS)</h2>
<p><img loading="lazy" decoding="async" class="size-full alignleft" src="https://zappysys.com/onlinehelp/ssis-powerpack/scr/images/sftp-task/ssis-sftp-ftp-ftps-task.png" width="128" height="128" />In this article, we will show <strong>SSIS SFTP task examples</strong>. This task supports multiple protocols (Classic FTP, SFTP, FTPS).</p>
<p>Uploading files using SFTP or downloading files are common requirements in SSIS. In order to work with FTP, Microsoft SSIS includes the FTP Task that allows to upload files to FTP, download files, creating local and remote directories an more. However, there is no native task to work with SFTP. Also Native FTP task doesn&#8217;t support many advanced options such as FTP over SSL (i.e. FTPS).  In this article, we will show how to use the <a href="//zappysys.com/products/ssis-powerpack/ssis-sftp-task-ftp-ftps/" target="_blank" rel="noopener">SSIS SFTP task</a> included in ZappySys <a href="https://zappysys.com/products/ssis-powerpack/">SSIS PowerPack</a>.</p>
<p>ZappySys SFTP Task will let you send files to SFTP/FTP/FTPS server, receive files from SFTP/FTP/FTPS server. With ZappySys SFTP Task, you can not only create/delete files and folders on ftp server but also get file properties (creation date, last modified, last read dates, size and more), verify if the files exist, rename and move files and more.</p>
<h2></h2>
<h2>SSIS SFTP Task Video Tutorial</h2>
<p>The following video shows a nice tutorial about a ZappySys SSIS SFTP Task with examples:</p>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/qZfA3OpnlAw?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<h2>Requirements</h2>
<ol>
<li>First, you will need to have SSIS installed</li>
<li>Also, make sure to have SSDT</li>
<li>Finally, do not forget to install ZappySys <a href="https://zappysys.com/products/ssis-powerpack/">SSIS PowerPack</a></li>
</ol>
<h2>Whats is FTP, FTPS, SFTP, FTP/SSL?</h2>
<p>Many people still have confusion over various protocols around FTP terminology. Most common terms you hear are as below.</p>
<ul>
<li>FTP</li>
<li>Classic FTP</li>
<li>Secure FTP</li>
<li>SFTP</li>
<li>FTPS</li>
<li>FTP/SSL</li>
<li>FTP over SSL</li>
<li>FTP Over SSH</li>
</ul>
<p>You must be overwhelmed by now 🙂 &#8230; So are they all same or different? See below for quick clarification in nutshell.</p>
<p>Mainly there are 2 protocols for FTP and yes they are very different but still used to do Files Transfer to / from remote server.</p>
<ol>
<li><strong>Classic FTP</strong> &#8211; sometimes referred as just <strong>FTP</strong> (Typically server runs on Port 21)</li>
<li><strong>SFTP</strong> &#8211; Sometimes referred as <strong>Secure FTP</strong> or <strong>FTP over SSH</strong> (Typically server runs on Port 22)</li>
</ol>
<p>So in short SFTP is not same as Classic FTP protocol. SFTP is more secure because traffic is always encrypted. On the other hand Classic FTP is not encrypted by default but you can use <strong>FTP over SSL</strong> to request encrypted traffic in classic FTP. <strong>FTP over SSL</strong> also referred as <strong>FTPS or FTP/SSL</strong>.</p>
<h2>Getting Started</h2>
<p>In order to start, we will show several examples. ZappySys includes an SSIS SFTP task that will allow to work with SFTP, FTP or even FTPS. Let´s start with an example. In this SSIS SFTP task example, we will show how to download files from SFTP to local folders.</p>
<ol>
<li>First, in a new SSIS project, drag and drop the <strong>ZS Secure FTP Task. </strong>This task will let you send and receive files in FTP:
<div id="attachment_2986" style="width: 696px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/ZappySys-FTP-SSIS-Task.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2986" class="size-full wp-image-2986" src="https://zappysys.com/blog/wp-content/uploads/2018/03/ZappySys-FTP-SSIS-Task.png" alt="Drag and drop FTPS task" width="686" height="386" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/ZappySys-FTP-SSIS-Task.png 686w, https://zappysys.com/blog/wp-content/uploads/2018/03/ZappySys-FTP-SSIS-Task-300x169.png 300w" sizes="(max-width: 686px) 100vw, 686px" /></a><p id="caption-attachment-2986" class="wp-caption-text">Using SSIS SFTP Task in the control Flow Designer</p></div></li>
<li>Secondly, double click the <strong>ZS Secure FTP Task </strong>and select the <strong>Download FTP server file(s) to local directory. </strong>This option will download files. In Path AccessMode we can use <strong>Direct </strong>to write the path directly or to use an SSIS variable. In path, you can use &#8220;<strong>/ &#8221; </strong>to specify the root folder <strong>/source </strong>would be a folder named source in the root. If there were another folder inside source named child1, the path would be <strong>/source/child1</strong>.  There is a nice option that you can check to include folders and child folders. If you need to include them, check the option <strong>Recursive scan. </strong>In target, the tab can be written directly (<strong>direct)</strong> and using SSIS variables. The variables will be explained later. In path you specify the path of the target. You can throw an exception if there is a need to overwrite files and folders. Finally, in Connection, press <strong>New</strong> button to create a new connection:
<div id="attachment_2987" style="width: 692px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/zappysys-source-ssis-sftp-send-files.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2987" class="size-full wp-image-2987" src="https://zappysys.com/blog/wp-content/uploads/2018/03/zappysys-source-ssis-sftp-send-files.png" alt="Download ftps files" width="682" height="611" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/zappysys-source-ssis-sftp-send-files.png 682w, https://zappysys.com/blog/wp-content/uploads/2018/03/zappysys-source-ssis-sftp-send-files-300x269.png 300w" sizes="(max-width: 682px) 100vw, 682px" /></a><p id="caption-attachment-2987" class="wp-caption-text">SSIS Secure FTP Task &#8211; Download files from FTP / SFTP Server</p></div></li>
<li>The following options are available in SSIS Secure FTP Task:
<div id="attachment_3026" style="width: 690px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/storage-action-ssis-ftps-task.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3026" class="size-full wp-image-3026" src="https://zappysys.com/blog/wp-content/uploads/2018/03/storage-action-ssis-ftps-task.png" alt="SSIS upload and download actions" width="680" height="474" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/storage-action-ssis-ftps-task.png 680w, https://zappysys.com/blog/wp-content/uploads/2018/03/storage-action-ssis-ftps-task-300x209.png 300w" sizes="(max-width: 680px) 100vw, 680px" /></a><p id="caption-attachment-3026" class="wp-caption-text">Option to upload, download files in SSIS</p></div></li>
<li>You can also overwrite files and folder, skip all, overwrite if source is older, overwrite if the file size is different, rename files and more:
<div id="attachment_3027" style="width: 689px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/overwrite-action-ssis-ftps-task.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3027" class="size-full wp-image-3027" src="https://zappysys.com/blog/wp-content/uploads/2018/03/overwrite-action-ssis-ftps-task.png" alt="Option to overwrite files in SSIS FTPS" width="679" height="590" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/overwrite-action-ssis-ftps-task.png 679w, https://zappysys.com/blog/wp-content/uploads/2018/03/overwrite-action-ssis-ftps-task-300x261.png 300w" sizes="(max-width: 679px) 100vw, 679px" /></a><p id="caption-attachment-3027" class="wp-caption-text">Overwrite files in SSIS</p></div></li>
</ol>
<h3>Configuring the SSIS SFTP Connection Manager</h3>
<p>In this new section, we will show how to configure the Connection Manager. We configure before the Secure FTP task, and we pressed the New button to create a new connection.</p>
<ol>
<li>In the connection manager for SFTP, we will work with the SFTP Connection Manager. We will choose if the protocol is FTP, FTPS or SFTP. Also, we need to specify the host. In this example, we are using a localhost, but in other cases, you will need to specify the IP. By default, the<strong> SFTP</strong> port is <strong>22</strong>. If it is a different port in your case, specify the port, otherwise leave blank. The <strong>FTP</strong> default port is <strong>21</strong> and FTPS<strong> 990</strong>.  If you have multiple files, make sure to check the option <strong>Retain the same connection.</strong>
<div id="attachment_2984" style="width: 670px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/sftp-user-pwd-ssis.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2984" class="wp-image-2984 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/03/sftp-user-pwd-ssis.png" alt="SSIS FTP Task" width="660" height="617" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/sftp-user-pwd-ssis.png 660w, https://zappysys.com/blog/wp-content/uploads/2018/03/sftp-user-pwd-ssis-300x280.png 300w" sizes="(max-width: 660px) 100vw, 660px" /></a><p id="caption-attachment-2984" class="wp-caption-text">SSIS SFTP Connection manager (Support for Classic FTP, SFTP, FTPS (i.e. FTP / SSL))</p></div></li>
<li>There are different types of <strong>Logon Types</strong>. A username and a password is the most common way to login, but you can also use other types like the Public/private key authentication, X509 certificate authentication, KerversosV5 user/password/domain, NTLM single sign-on (GSSAPI) and NTLM user/password/domain (GSSAPI).
<div id="attachment_3028" style="width: 668px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/logon-type-supported-ssis-ftps.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3028" class="size-full wp-image-3028" src="https://zappysys.com/blog/wp-content/uploads/2018/03/logon-type-supported-ssis-ftps.png" alt="Logon types supported" width="658" height="557" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/logon-type-supported-ssis-ftps.png 658w, https://zappysys.com/blog/wp-content/uploads/2018/03/logon-type-supported-ssis-ftps-300x254.png 300w" sizes="(max-width: 658px) 100vw, 658px" /></a><p id="caption-attachment-3028" class="wp-caption-text">SFTP Connection Manager &#8211; Logon types (i.e. Username/password, Public / Private Key, NTLM )</p></div></li>
<li>If everything is OK, it will copy all the files from the SFTP in the source folder in the C:\destination folder.</li>
</ol>
<h3>Working with advanced filters</h3>
<p>In order to understand filters, we will create an example for you. This time we will create SSIS SFTP task example to show how to exclude some files from the downloading process.</p>
<ol>
<li>In addition, it is also possible to add advanced filters to the SSIS SFTP task to exclude or include files and folders. The following example shows how to use the Advanced filters. In the <strong>Secure FTP Task, </strong>go to the Advanced Filter page and in Exclude RegX we will write \.exe$ to exclude the file with exe extension to be downloaded. You can use RegX (regular expressions) in the advanced filter:
<div id="attachment_3037" style="width: 693px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/working-with-advanced-filters.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3037" class="size-full wp-image-3037" src="https://zappysys.com/blog/wp-content/uploads/2018/03/working-with-advanced-filters.png" alt="Advanced filters" width="683" height="591" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/working-with-advanced-filters.png 683w, https://zappysys.com/blog/wp-content/uploads/2018/03/working-with-advanced-filters-300x260.png 300w" sizes="(max-width: 683px) 100vw, 683px" /></a><p id="caption-attachment-3037" class="wp-caption-text">Advanced filters FTP</p></div></li>
</ol>
<p>&nbsp;</p>
<h3>Working with wildcards in SSIS SFTP task (Multiple files)</h3>
<p>In order to understand wildcards, the new example will show how to work with Wildcards will help you to work with multiple files or folder with common characteristics.</p>
<ol>
<li>The following example shows how to copy all the files will all the extensions in the source folder. We use the *.*, which means that any file name with any extension will be downloaded:
<div id="attachment_2992" style="width: 691px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/sfpt-connection-manager-ssis.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2992" class="size-full wp-image-2992" src="https://zappysys.com/blog/wp-content/uploads/2018/03/sfpt-connection-manager-ssis.png" alt="SSIS FPTS connection" width="681" height="590" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/sfpt-connection-manager-ssis.png 681w, https://zappysys.com/blog/wp-content/uploads/2018/03/sfpt-connection-manager-ssis-300x260.png 300w" sizes="(max-width: 681px) 100vw, 681px" /></a><p id="caption-attachment-2992" class="wp-caption-text">SSIS SFTP connection manager</p></div></li>
<li>If we want to download all the files with extension txt, use the following Path:<br />
<pre class="crayon-plain-tag">/source/*.txt;</pre>
</li>
<li>Another example would be to download all the files with the following names: file1.txt, file2.txt and file3.txt.  We could use the following Path:<br />
<pre class="crayon-plain-tag">/source/file?.txt</pre>
</li>
</ol>
<p>&nbsp;</p>
<h3><strong>Working with SSIS expressions and variables in SFTP / FTPS to delete FTP files</strong></h3>
<p>In order to understand expressions, the following example will show how to work with SSIS expressions combined with variables in the SSIS SFTP task. In this example we will delete files in SFTP using variables and expressions.</p>
<div id="shellMainStage" class="shell mainStage">
<div id="chatServiceContainer" class="shell main">
<div class="chatContainer">
<div id="chatComponent" class="chatComponentContainer swx showFocusRing" dir="ltr">
<div id="swxContent1" class="swxContent">
<div class="fragmentsContainer hideContent">
<div class="fragment">
<div class="conversationControl chat themeLight allowTextSelection">
<div class="conversation scrollable scrollViewport scrollViewportV">
<div class="history scrollViewport-inner">
<div class="scroller">
<div class="messageHistory largeAllowed visible" role="list">
<div class="bubble">
<div id="msg_15748596827534091469" class="content">
<div class="messageTextWrapper">
<p class="urlPreviewText">ZappySys Providers simple and powerful Placeholders. You can still use SSIS expression language. Placeholders allow direct Variable Use easy to see compared to hidden SSIS Expression (C# style). Placeholders have simple embedding use of variables.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<ol>
<li> First, we will first create a variable in SSIS. In the SSIS Project, go to the menu and select SSIS and variables. Create a variable with the Data type string and specify a Value. In this example the file name is <strong>MyFile</strong> and the Value<strong> file1</strong>.
<div id="attachment_2994" style="width: 782px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis.sftp-variable.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2994" class="size-full wp-image-2994" src="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis.sftp-variable.png" alt="Create a SSIS variable" width="772" height="205" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis.sftp-variable.png 772w, https://zappysys.com/blog/wp-content/uploads/2018/03/ssis.sftp-variable-300x80.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/03/ssis.sftp-variable-768x204.png 768w" sizes="(max-width: 772px) 100vw, 772px" /></a><p id="caption-attachment-2994" class="wp-caption-text">Create an SSIS variable</p></div></li>
<li>As a second step, we will write in path the value<strong> \destination\{{User.MyFile}}.txt. </strong>This will concatenate the folder destination with the variable MyFile. The task will delete the file1.txt from the SFTP folder.
<div id="attachment_2995" style="width: 690px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-expressions-task-ftp.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2995" class="size-full wp-image-2995" src="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-expressions-task-ftp.png" alt="Add a SSIS expression" width="680" height="591" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-expressions-task-ftp.png 680w, https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-expressions-task-ftp-300x261.png 300w" sizes="(max-width: 680px) 100vw, 680px" /></a><p id="caption-attachment-2995" class="wp-caption-text">Create SSIS expressions</p></div></li>
<li>The next example will show how to create a SFTP file using expressions and variables in SSIS:
<div id="attachment_3034" style="width: 690px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-ftps-expressions-task.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3034" class="size-full wp-image-3034" src="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-ftps-expressions-task.png" alt="Create ftps file" width="680" height="588" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-ftps-expressions-task.png 680w, https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-ftps-expressions-task-300x259.png 300w" sizes="(max-width: 680px) 100vw, 680px" /></a><p id="caption-attachment-3034" class="wp-caption-text">Create file ftp</p></div></li>
<li>Content to write is the content of the file. In <strong>Target, </strong>go to path and write the following: For more information on placeholders <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-format-specifiers.htm#A1" target="_blank" rel="noopener">check this post</a> and also check <a href="https://zappysys.zendesk.com/hc/en-us/articles/115004918633-How-to-format-Path-URL-using-date-time-format" target="_blank" rel="noopener">this post</a>.<br />
<pre class="crayon-plain-tag">/destination/{{User::FileName,MM-dd-yyyy}}</pre>
</li>
<li>We are using a variable in SSIS named FileName of type DateTime. We are concatenating the SFTP folder destination with the variable. As you can see, the expressions with ZappySys are very simple.</li>
</ol>
<h3>Example working with variables in the SSIS FTP Task to upload files</h3>
<p>In order to understand variables, this example about SSIS TASKS FOR SFTP will show how to work with variables. We will specify the path in a variable.</p>
<ol>
<li>In this example, we will create a variable with a path. The Data type will be string and the Value will contain the path:
<div id="attachment_2996" style="width: 781px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-working-with-variables.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2996" class="size-full wp-image-2996" src="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-working-with-variables.png" alt="Values in variables" width="771" height="206" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-working-with-variables.png 771w, https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-working-with-variables-300x80.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-working-with-variables-768x205.png 768w" sizes="(max-width: 771px) 100vw, 771px" /></a><p id="caption-attachment-2996" class="wp-caption-text">SSIS variable values</p></div></li>
<li> Secondly, we will go to Path AccessMode, we will select Variable and select the variable in Path variable:
<div id="attachment_2997" style="width: 699px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-upload-file-sftp-variable.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2997" class="size-full wp-image-2997" src="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-upload-file-sftp-variable.png" alt="Send files SFTP" width="689" height="593" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-upload-file-sftp-variable.png 689w, https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-upload-file-sftp-variable-300x258.png 300w" sizes="(max-width: 689px) 100vw, 689px" /></a><p id="caption-attachment-2997" class="wp-caption-text">ssis upload files SFTP</p></div></li>
</ol>
<h3>Working with variables to create a file in FTP</h3>
<p>In order to understand the use of variables, will show how to create a file in SFTP. In this new SSIS SFTP task example, we will create a new file using variables.</p>
<ol>
<li>First, we will create an SSIS variable named Content that will store the file content. Create a variable of type String and write some text in it.</li>
<li>Secondly, in AccessMode, select Content Variable and select <strong>Create new FTP</strong> <strong>file.  </strong>In target <strong>path, </strong>you need to specify the file name that will be created. Next, select the User::Content variable to add content to the file:
<div id="attachment_3000" style="width: 692px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-task-sftp-create-file.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3000" class="size-full wp-image-3000" src="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-task-sftp-create-file.png" alt="SSIS FTPS task example" width="682" height="593" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-task-sftp-create-file.png 682w, https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-task-sftp-create-file-300x261.png 300w" sizes="(max-width: 682px) 100vw, 682px" /></a><p id="caption-attachment-3000" class="wp-caption-text">Example for SSIS SFTP task</p></div></li>
</ol>
<h3>Example to verify if file exists in SSIS SFTP task</h3>
<p>Finally, we will verify if a file in SFTP exists or not using the SSIS SFTP task. The new SSIS SFTP task example will show how to work with variables and another useful ZappySys task used to get values of variables.</p>
<ol>
<li>In order to start, we will use the SSIS variables, create a variable of type string named FileExists. In <strong>Storage Action, </strong>select <strong>Get FTP file exist status. </strong>In path, select the path of the file to verify if it exists or not.
<div id="attachment_3007" style="width: 689px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-task-ftp-file-exists.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3007" class="wp-image-3007 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-task-ftp-file-exists.png" alt="SSIS SFTP task example to check if file exists" width="679" height="588" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-task-ftp-file-exists.png 679w, https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-task-ftp-file-exists-300x260.png 300w" sizes="(max-width: 679px) 100vw, 679px" /></a><p id="caption-attachment-3007" class="wp-caption-text">Verify if file exists in SFTP</p></div></li>
<li>Secondly, we will use the <strong>ZS Logging Task </strong>to check the value of the variable File Exists. This task will show the value of the variable in the log. Drag and drop the task and join it with the ZS Secure FTP Task:
<div id="attachment_3006" style="width: 745px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-log-task.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3006" class="size-full wp-image-3006" src="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-log-task.png" alt="ZappySys log task" width="735" height="484" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-log-task.png 735w, https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-log-task-300x198.png 300w" sizes="(max-width: 735px) 100vw, 735px" /></a><p id="caption-attachment-3006" class="wp-caption-text">The SSIS Log task</p></div></li>
<li>In order to get the value, we will insert it in the Logging Task. To do that, insert the Variable and select the FileExists variable:
<div id="attachment_3005" style="width: 634px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-ftp-verify-folder-exists.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3005" class="size-full wp-image-3005" src="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-ftp-verify-folder-exists.png" alt="Configuring variable" width="624" height="501" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-ftp-verify-folder-exists.png 624w, https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-ftp-verify-folder-exists-300x241.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><p id="caption-attachment-3005" class="wp-caption-text">Add the variable in the task logging</p></div></li>
<li>Finally, run the package and verify the Output (you can use View and Output to see the output) and check the value of the Logging Task. If the file exists, the value will be true. If it does not exist, the value will be false.
<div id="attachment_3004" style="width: 1036px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/SFTP-read-variables.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3004" class="size-full wp-image-3004" src="https://zappysys.com/blog/wp-content/uploads/2018/03/SFTP-read-variables.png" alt="Verify the value of the variable in the SSIS output" width="1026" height="234" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/SFTP-read-variables.png 1026w, https://zappysys.com/blog/wp-content/uploads/2018/03/SFTP-read-variables-300x68.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/03/SFTP-read-variables-768x175.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/03/SFTP-read-variables-1024x234.png 1024w" sizes="(max-width: 1026px) 100vw, 1026px" /></a><p id="caption-attachment-3004" class="wp-caption-text">Verify the variable in Output</p></div></li>
</ol>
<h2>How to loop through SFTP / FTP files in SSIS</h2>
<p>You can also loop through files to perform custom action file by by. SFTP Task support Action to <strong>get File List as ADO.net Recordset</strong></p>
<p>To get File list from FTP Server perform the following steps.</p>
<ol>
<li>Download and Install SSIS PowerPack <a href="//zappysys.com/products/ssis-powerpack/download/" target="_blank" rel="noopener">from here</a></li>
<li>Open Visual Studio and Create New SSIS Project.</li>
<li>In the SSIS control flow designer drag &amp; drop <strong>ZS Secure FTP Task</strong></li>
<li>Double click to configure SSIS SFTP Task.</li>
<li>From Storage Action select <strong><strong>Get FTP files as ADO.net DataTable<br />
</strong></strong></p>
<div id="attachment_3055" style="width: 903px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-loop-secure-ftp-sftp-files.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3055" class="size-full wp-image-3055" src="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-loop-secure-ftp-sftp-files.png" alt="SSIS SFTP Task - Loop through Files / Folders stored on FTP Server" width="893" height="480" srcset="https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-loop-secure-ftp-sftp-files.png 893w, https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-loop-secure-ftp-sftp-files-300x161.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/03/ssis-loop-secure-ftp-sftp-files-768x413.png 768w" sizes="(max-width: 893px) 100vw, 893px" /></a><p id="caption-attachment-3055" class="wp-caption-text">SSIS SFTP Task &#8211; Loop through Files / Folders stored on FTP Server</p></div>
<p>&nbsp;</p>
<p>&nbsp;</li>
<li>Create new FTP Connection by clicking New next to connection dropdown.</li>
<li>Select Source Path (e.g  <strong>\myroot\folder\*.txt </strong> )</li>
<li>Select or create new SSIS Variable (e.g. <strong>varFiles</strong> ) which will hold file list result (Must be Object datatype variable).</li>
<li>Click OK to close.</li>
<li>Create 3 more SSIS variables to hold File Path (String), Name (String) and Size (Int32). We will use in the next step.</li>
<li>Now drag SSIS ForEach Loop Container Task from SSIS Toolbox</li>
<li>Edit Loop Task and Select <strong>Foreach ADO Enumerator</strong> from the Enumerator dropdown</li>
<li>Select variable (e.g. <strong><strong>varFiles)<br />
</strong></strong></p>
<div id="attachment_346" style="width: 635px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2016/02/ssis-looping-through-files-ado-net-recordset.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-346" class="wp-image-346 size-full" src="https://zappysys.com/blog/wp-content/uploads/2016/02/ssis-looping-through-files-ado-net-recordset.png" alt="Loop through files in SSIS using ForEach Loop Task (use ADO.net Recordset variable)" width="625" height="563" srcset="https://zappysys.com/blog/wp-content/uploads/2016/02/ssis-looping-through-files-ado-net-recordset.png 625w, https://zappysys.com/blog/wp-content/uploads/2016/02/ssis-looping-through-files-ado-net-recordset-300x270.png 300w" sizes="(max-width: 625px) 100vw, 625px" /></a><p id="caption-attachment-346" class="wp-caption-text">Loop through files in SSIS using ForEach Loop Task (use ADO.net Recordset variable)</p></div></li>
<li>Click on Variable Mappings Tab and configure like below.
<div id="attachment_345" style="width: 582px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2016/02/ssis-looping-through-files-ado-net-recordset-variable-mapping.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-345" class="size-full wp-image-345" src="https://zappysys.com/blog/wp-content/uploads/2016/02/ssis-looping-through-files-ado-net-recordset-variable-mapping.png" alt="Variable Mappings for ForEach Loop Task - Loop through files in a folder using SSIS" width="572" height="272" srcset="https://zappysys.com/blog/wp-content/uploads/2016/02/ssis-looping-through-files-ado-net-recordset-variable-mapping.png 572w, https://zappysys.com/blog/wp-content/uploads/2016/02/ssis-looping-through-files-ado-net-recordset-variable-mapping-300x143.png 300w" sizes="(max-width: 572px) 100vw, 572px" /></a><p id="caption-attachment-345" class="wp-caption-text">Variable Mappings for ForEach Loop Task &#8211; Loop through files in a folder using SSIS</p></div></li>
<li>Drag ZS Logging Task and place inside Loop and Display variables</li>
<li>Thats</li>
</ol>
<p>For more information to <a href="//zappysys.com/blog/get-list-of-files-and-folders-in-ssis-for-looping/" target="_blank" rel="noopener">loop through files on local machine using SSIS check this article</a>.</p>
<p>&nbsp;</p>
<h2>Algorithms / Ciphers supported by Secure FTP Task</h2>
<p>Secure FTP Task comes with many option to tweak many aspects about security so you can turn on and off algorithms used by components.</p>
<p><a href="https://zappysys.com/forums/topic/ciphers-algorithms-supported-sftp-connection/" target="_blank" rel="noopener">Click here to learn more</a> about supported Ciphers / Macs and Encryption Algorithms used by SSIS SFTP Task.</p>
<h2>Conclusion</h2>
<p>To conclude, we can say that working with SFTP is now very simple. In this article, we looked at SSIS SFTP task examples on how to upload, download, delete files and folders. We used variables, wildcards and expressions. If you liked the tasks you can start using them by downloading SSIS PowerPack from our <a href="https://zappysys.com/products/ssis-powerpack/">web site here</a>. We saw different SSIS SFTP task examples to understand how to use the task in different scenarios.</p>
<p>Thanks for your time.</p>
<h2>References</h2>
<ul>
<li><a href="https://zappysys.com/products/ssis-powerpack/">About SSIS PowerPack</a></li>
<li><a href="https://docs.microsoft.com/en-us/sql/integration-services/expressions/integration-services-ssis-expressions">Integration Services (SSIS) Expressions</a></li>
</ul>
<p>Keywords: SSIS SFTP task example,upload SFTP files, download SFTP files.</p>
<p>The post <a href="https://zappysys.com/blog/ssis-sftp-task-examples-upload-download-move-delete-files-folders/">SSIS SFTP task examples to upload, download, move and delete files / folders</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
