<?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>SSIS PowerPack Archives | ZappySys Blog</title>
	<atom:link href="https://zappysys.com/blog/category/ssis/feed/" rel="self" type="application/rss+xml" />
	<link>https://zappysys.com/blog/category/ssis/</link>
	<description>SSIS / ODBC Drivers / API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more</description>
	<lastBuildDate>Mon, 18 May 2026 15:39:18 +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>SSIS PowerPack Archives | ZappySys Blog</title>
	<link>https://zappysys.com/blog/category/ssis/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>SSIS tutorial: How to retrieve data from Trello</title>
		<link>https://zappysys.com/blog/ssis-tutorial-how-to-retrieve-data-from-trello/</link>
		
		<dc:creator><![CDATA[ZappySys Team]]></dc:creator>
		<pubDate>Thu, 07 May 2026 19:21:21 +0000</pubDate>
				<category><![CDATA[SSIS JSON Source (File/REST)]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=12096</guid>

					<description><![CDATA[<p>Introduction Trello is a popular project management platform used by teams worldwide to organize tasks, track progress, and collaborate on projects. Many organizations need to integrate Trello data with SQL Server for reporting, analytics, and business intelligence purposes. Using Zappysys SSIS PowerPack, you can easily extract card data, lists, and board information from Trello using [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/ssis-tutorial-how-to-retrieve-data-from-trello/">SSIS tutorial: How to retrieve data from Trello</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/2026/05/trello-logo.png"><img decoding="async" class="wp-image-12097 size-thumbnail alignleft" src="https://zappysys.com/blog/wp-content/uploads/2026/05/trello-logo-150x150.png" alt="" width="150" height="150" srcset="https://zappysys.com/blog/wp-content/uploads/2026/05/trello-logo-150x150.png 150w, https://zappysys.com/blog/wp-content/uploads/2026/05/trello-logo-300x300.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/05/trello-logo.png 512w" sizes="(max-width: 150px) 100vw, 150px" /></a>Trello is a popular project management platform used by teams worldwide to organize tasks, track progress, and collaborate on projects. Many organizations need to integrate Trello data with SQL Server for reporting, analytics, and business intelligence purposes. Using Zappysys SSIS PowerPack, you can easily extract card data, lists, and board information from Trello using REST APIs without writing custom code.</p>
<p>This tutorial demonstrates how to connect SSIS to Trello and load card and board data into SQL Server tables using the Zappysys REST API Source component.</p>
<h3></h3>
<h2>Prerequisites</h2>
<ol>
<li>SQL Server Integration Services (SSIS) is installed.</li>
<li>Visual Studio with SSIS extension or SQL Server Data Tools (SSDT).</li>
<li>A Trello account with at least one board and list created.</li>
<li>Zappysys <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">SSIS PowerPack</a> installed on your system.</li>
</ol>
<h2>Steps<br />
Generate Trello API Key and Token</h2>
<ol>
<li>Go to the <a href="https://trello.com/power-ups/admin">Trello Power-up page</a> and log in to your account.</li>
<li>Create a new App and fill in the form.
<div id="attachment_12099" style="width: 1224px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-Create-a-new-App.png"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-12099" class="wp-image-12099 size-full" src="https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-Create-a-new-App.png" alt="" width="1214" height="607" srcset="https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-Create-a-new-App.png 1214w, https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-Create-a-new-App-300x150.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-Create-a-new-App-1024x512.png 1024w, https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-Create-a-new-App-768x384.png 768w, https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-Create-a-new-App-960x480.png 960w" sizes="(max-width: 1214px) 100vw, 1214px" /></a><p id="caption-attachment-12099" class="wp-caption-text">Trello &#8211; Create a new App</p></p></div></li>
<li>Inside your new App, click the <strong>API key</strong>, then generate a new API Key.
<div id="attachment_12098" style="width: 1521px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/05/trello-API-key-page.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-12098" class="size-full wp-image-12098" src="https://zappysys.com/blog/wp-content/uploads/2026/05/trello-API-key-page.png" alt="" width="1511" height="511" srcset="https://zappysys.com/blog/wp-content/uploads/2026/05/trello-API-key-page.png 1511w, https://zappysys.com/blog/wp-content/uploads/2026/05/trello-API-key-page-300x101.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/05/trello-API-key-page-1024x346.png 1024w, https://zappysys.com/blog/wp-content/uploads/2026/05/trello-API-key-page-768x260.png 768w" sizes="(max-width: 1511px) 100vw, 1511px" /></a><p id="caption-attachment-12098" class="wp-caption-text">Trello &#8211; API key page</p></p></div></li>
<li>In the API Key section, click the <strong>Token</strong> link to generate an access token.
<div class="mceTemp"></div>
<div id="attachment_12123" style="width: 1167px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-API-key-and-Token-link.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-12123" class="size-full wp-image-12123" src="https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-API-key-and-Token-link.png" alt="" width="1157" height="506" srcset="https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-API-key-and-Token-link.png 1157w, https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-API-key-and-Token-link-300x131.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-API-key-and-Token-link-1024x448.png 1024w, https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-API-key-and-Token-link-768x336.png 768w" sizes="(max-width: 1157px) 100vw, 1157px" /></a><p id="caption-attachment-12123" class="wp-caption-text">Trello &#8211; API key and Token link</p></div></li>
<li>Choose the token&#8217;s expiration time (Recommended: 30 days for security).</li>
<li>Review the permissions and click <strong>Create Token</strong>.</li>
<li>Copy the generated token and store it securely.</li>
<li>You now have both your API Key and Token. Keep these credentials confidential.</li>
</ol>
<h3>Configure SSIS Package Variables</h3>
<ol>
<li>Open your SSIS project in Visual Studio or SQL Server Data Tools (SSDT).</li>
<li>Create a new package or open an existing one.</li>
<li>Navigate to the <strong>Variables</strong> section and create the following variables:
<ol>
<li><b>TrelloApiKey</b> (String) — Enter the API Key you generated in the previous step.</li>
<li><b>TrelloToken</b> (String) — Enter the access token you created.</li>
<li><b>BoardId</b> (String) — Enter your Trello Board ID.</li>
</ol>
</li>
<li>Ensure all variables are marked as sensitive if they contain authentication credentials to secure the package.</li>
</ol>
<h3>Create and Configure the  JSON Source</h3>
<ol>
<li style="list-style-type: none;">
<ol>
<li>Add a new <strong>Data Flow Task</strong> to your SSIS package.</li>
<li>Double-click the Data Flow Task to enter the Data Flow design surface.
<div id="attachment_11784" style="width: 485px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-Data-flow.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11784" class="size-full wp-image-11784" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-Data-flow.png" alt="" width="475" height="178" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-Data-flow.png 475w, https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-Data-flow-300x112.png 300w" sizes="(max-width: 475px) 100vw, 475px" /></a><p id="caption-attachment-11784" class="wp-caption-text">Drag and drop Data flow</p></p></div></li>
<li>Drag a <a href="https://zappysys.com/products/ssis-powerpack/ssis-json-file-source/">ZappySys JSON Source</a> component from the toolbox onto the canvas.
<div id="attachment_11533" style="width: 553px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2015/09/ssis-json-source-adapter-drag.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11533" class="size-full wp-image-11533" src="https://zappysys.com/blog/wp-content/uploads/2015/09/ssis-json-source-adapter-drag.png" alt="" width="543" height="146" srcset="https://zappysys.com/blog/wp-content/uploads/2015/09/ssis-json-source-adapter-drag.png 543w, https://zappysys.com/blog/wp-content/uploads/2015/09/ssis-json-source-adapter-drag-300x81.png 300w" sizes="(max-width: 543px) 100vw, 543px" /></a><p id="caption-attachment-11533" class="wp-caption-text">SSIS JSON Source &#8211; Drag and Drop</p></p></div></li>
<li>Double-click the <strong>ZappySys JSON Source</strong> to open its configuration editor.</li>
<li>In the <strong>Connection</strong> section, enter the Trello API endpoint to retrieve cards from your board:<br />
<pre class="crayon-plain-tag">https://api.trello.com/1/members/me/boards?key={{User::TrelloApiKey}}&amp;token={{User::TrelloToken}}</pre>
</li>
<li>Set the <strong>HTTP Request Method</strong> to <strong>GET</strong>.</li>
<li>Click <strong>Test Connection</strong> to verify that your API credentials are correct and you can access your Trello board data.</li>
<li>Click <strong>Preview Data</strong> to view the card data that will be extracted from Trello.</li>
<li>Click <strong>OK</strong> to save the configuration.
<div id="attachment_12101" style="width: 838px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-JSON-source-example.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-12101" class="size-full wp-image-12101" src="https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-JSON-source-example.png" alt="" width="828" height="745" srcset="https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-JSON-source-example.png 828w, https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-JSON-source-example-300x270.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-JSON-source-example-768x691.png 768w" sizes="(max-width: 828px) 100vw, 828px" /></a><p id="caption-attachment-12101" class="wp-caption-text">Trello &#8211; JSON source example</p></p></div></li>
<li>Alternatively, you can use the <code>boardId</code> parameter in the request to retrieve specific board data. Here are some common API endpoints:<br />
<code>GET /boards/{boardId}/cards — Retrieve all cards from a specific board</code><br />
<code>GET /boards/{boardId}/lists — Retrieve all lists from a specific board</code><br />
<code>GET /cards/{cardId} — Retrieve details of a specific card</code></p>
<div id="attachment_12110" style="width: 838px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-JSON-source-example-board-id.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-12110" class="wp-image-12110 size-full" src="https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-JSON-source-example-board-id.png" alt="" width="828" height="745" srcset="https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-JSON-source-example-board-id.png 828w, https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-JSON-source-example-board-id-300x270.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/05/Trello-JSON-source-example-board-id-768x691.png 768w" sizes="(max-width: 828px) 100vw, 828px" /></a><p id="caption-attachment-12110" class="wp-caption-text">Trello &#8211; JSON source example board ID</p></div></li>
</ol>
</li>
</ol>
<h3>Configure the Data Destination</h3>
<ol>
<li>Drag and drop a destination component (such as <strong>OLE DB Destination</strong>, <strong>SQL Server Destination</strong>, or <strong>Flat File Destination</strong>) into the Data Flow.</li>
<li>Connect the output arrow from the JSON Source component to the destination component.</li>
<li>Double-click the destination component to open its configuration dialog.</li>
<li>Configure the connection manager to point to your target SQL Server database.</li>
<li>In the destination editor, specify the target table where Trello data will be stored.</li>
<li>In the <strong>Mappings</strong> section, map the columns from the JSON response to the corresponding SQL Server table columns.</li>
<li>Configure error-handling options based on your requirements (fail on errors, ignore errors, or redirect error rows to an error table).</li>
<li>Click <strong>OK</strong> to save the destination configuration.</li>
<li>Execute the package and verify that the data extraction is working correctly.
<div id="attachment_11970" style="width: 284px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/04/Jamf-Final-Result.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11970" class="wp-image-11970 size-full" src="https://zappysys.com/blog/wp-content/uploads/2026/04/Jamf-Final-Result.png" alt="" width="274" height="260" /></a><p id="caption-attachment-11970" class="wp-caption-text">Trello &#8211; Final Result</p></div></li>
</ol>
<div class="mceTemp"></div>
<h2>Conclusion</h2>
<p>Connecting SSIS to Trello using Zappysys REST API Source simplifies the integration of project management data into your SQL Server environment without custom development. By following the steps outlined in this tutorial, you can build reliable SSIS packages that automatically synchronize Trello board data with SQL Server for analytics, reporting, and business intelligence. Whether you need to track project progress, analyze team productivity, consolidate data from multiple teams, or create executive dashboards, Trello integration with SSIS provides a flexible and powerful solution that saves time and reduces manual data entry errors.</p>
<p>Explore the full capabilities of the <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack</a> to optimize your data integration tasks. By applying this pattern, you can extend your solution to include additional transformations, data validation, error handling, and scheduling through SQL Server Agent.</p>
<h2>Need Help?</h2>
<p class="section-intro">If you encounter any issues, our support team is here to help:</p>
<ol>
<li><strong>Live Chat</strong> — Use the chat widget (bottom-right corner of this page)</li>
<li><strong>Email</strong> — support@zappysys.com</li>
<li><strong>Support Center</strong> — Visit the ZappySys Support Portal</li>
</ol>
<p>The post <a href="https://zappysys.com/blog/ssis-tutorial-how-to-retrieve-data-from-trello/">SSIS tutorial: How to retrieve data from Trello</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SSIS tutorial: How export data from Tripletex</title>
		<link>https://zappysys.com/blog/ssis-tutorial-how-to-connect-tripletex-in-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys Team]]></dc:creator>
		<pubDate>Fri, 24 Apr 2026 01:26:57 +0000</pubDate>
				<category><![CDATA[SSIS JSON Source (File/REST)]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=12049</guid>

					<description><![CDATA[<p>Introduction Tripletex is a cloud-based accounting and enterprise resource planning (ERP) platform used by small and medium-sized businesses in Norway and other Scandinavian countries. It provides financial management, invoicing, project accounting, and inventory features through a REST API. Integrating Tripletex with SQL Server Integration Services (SSIS) lets you synchronize accounting data with databases, reporting systems, [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/ssis-tutorial-how-to-connect-tripletex-in-ssis/">SSIS tutorial: How export data from Tripletex</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/2026/04/Tripletex-logo.png"><img loading="lazy" decoding="async" class="size-thumbnail wp-image-12060 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-logo-150x150.png" alt="Tripletex Logo" width="150" height="150" srcset="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-logo-150x150.png 150w, https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-logo.png 225w" sizes="(max-width: 150px) 100vw, 150px" /></a>Tripletex is a cloud-based accounting and enterprise resource planning (ERP) platform used by small and medium-sized businesses in Norway and other Scandinavian countries. It provides financial management, invoicing, project accounting, and inventory features through a REST API.</p>
<p>Integrating Tripletex with SQL Server Integration Services (SSIS) lets you synchronize accounting data with databases, reporting systems, and other business applications. ZappySys SSIS PowerPack simplifies this process by providing components that handle HTTP requests, authentication, and data extraction without requiring custom code.</p>
<p>This tutorial walks you through the complete process of creating Tripletex API credentials, generating a session token, and building an SSIS package that extracts data from Tripletex.</p>
<h2>Prerequisites</h2>
<ol>
<li>SQL Server Integration Services (SSIS) is installed.</li>
<li>Visual Studio with SSIS extension or SQL Server Data Tools (SSDT).</li>
<li>Tripletex account with API access enabled.</li>
<li>Install ZappySys <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">SSIS PowerPack</a>.</li>
</ol>
<h2>Steps</h2>
<h3>Generate Tripletex API credentials</h3>
<ol>
<li>Create or log in to your <a href="https://api-test.tripletex.tech/">Tripletex account</a> using your administrator credentials.</li>
<li>Navigate to the Settings section by clicking on your user profile icon in the top-right corner of the screen.</li>
<li>Select <strong>API Access</strong> from the dropdown menu.</li>
<li>Click the <strong>Generate New Token</strong> button to generate a new API token.
<div id="attachment_12053" style="width: 1487px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-generate-token-1.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-12053" class="size-full wp-image-12053" src="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-generate-token-1.png" alt="Tripletex - Generate Token" width="1477" height="617" srcset="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-generate-token-1.png 1477w, https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-generate-token-1-300x125.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-generate-token-1-1024x428.png 1024w, https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-generate-token-1-768x321.png 768w" sizes="(max-width: 1477px) 100vw, 1477px" /></a><p id="caption-attachment-12053" class="wp-caption-text">Tripletex &#8211; Generate Token</p></div></li>
<li>Provide a descriptive name for your token.</li>
<li>Set the appropriate permissions scope. For this tutorial, select <strong>Read and Write</strong> access to ensure the integration can both retrieve and push data.</li>
<li>Click <strong>Generate Token</strong>, then immediately copy the <strong>Consumer Token</strong> and <strong>Employee Token</strong> values. Store them securely in a password manager or Azure Key Vault, as Tripletex will not display them again.
<div id="attachment_12054" style="width: 1012px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-getting-tokens.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-12054" class="alignnone wp-image-12054 size-full" src="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-getting-tokens.png" alt="Tripletex - Getting Tokens" width="1002" height="720" srcset="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-getting-tokens.png 1002w, https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-getting-tokens-300x216.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-getting-tokens-768x552.png 768w" sizes="(max-width: 1002px) 100vw, 1002px" /></a><p id="caption-attachment-12054" class="wp-caption-text">Tripletex &#8211; Getting Tokens</p></div></li>
</ol>
<h3>Generate a Tripletex session token</h3>
<p>Tripletex requires a session token for API authentication. The session token is generated from the Consumer Token and Employee Token obtained in the previous step.</p>
<ol>
<li>In your SSIS package, navigate to the Variables section and create the following variables:
<ol>
<li><strong>ConsumerToken</strong> (String) &mdash; Enter the Consumer Token from the previous step.</li>
<li><strong>EmployeeToken</strong> (String) &mdash; Enter the Employee Token from the previous step.</li>
<li><strong>SessionToken</strong> (String) &mdash; Stores the generated session token.</li>
<li><strong>CompanyID</strong> (String) &mdash; Enter your Tripletex company ID, or use 0 if it is unknown.</li>
</ol>
</li>
<li>Drag and drop the <a href="https://zappysys.com/products/ssis-powerpack/ssis-rest-api-web-service-task/" target="_blank" rel="noopener">REST API Task</a> component onto your SSIS package canvas and double-click to open it.
<div id="attachment_9066" style="width: 648px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2020/07/RestAPITask.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9066" class="size-full wp-image-9066" src="https://zappysys.com/blog/wp-content/uploads/2020/07/RestAPITask.jpg" alt="Add REST API Task in SSIS" width="638" height="185" srcset="https://zappysys.com/blog/wp-content/uploads/2020/07/RestAPITask.jpg 638w, https://zappysys.com/blog/wp-content/uploads/2020/07/RestAPITask-300x87.jpg 300w" sizes="(max-width: 638px) 100vw, 638px" /></a><p id="caption-attachment-9066" class="wp-caption-text">Add a REST API Task in SSIS</p></div></li>
<li>Navigate to the <strong>Response Settings</strong> tab and set <strong>Response Content Type</strong> to <strong>JSON</strong>.</li>
<li>In the JSONPath field, enter: <code>$.value.Token</code> to extract the session token from the API response.</li>
<li>Enable <strong>Save Response Content</strong>, select the <strong>Variable</strong> option, and choose your SessionToken variable.
<div id="attachment_12056" style="width: 848px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-save-session-token-in-a-variable.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-12056" class="size-full wp-image-12056" src="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-save-session-token-in-a-variable.png" alt="Tripletex - Save Session Token in Variable" width="838" height="333" srcset="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-save-session-token-in-a-variable.png 838w, https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-save-session-token-in-a-variable-300x119.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-save-session-token-in-a-variable-768x305.png 768w" sizes="(max-width: 838px) 100vw, 838px" /></a><p id="caption-attachment-12056" class="wp-caption-text">Tripletex &#8211; Save Session Token in Variable</p></div></li>
<li>Go back to the <strong>Request</strong> tab and enter the following URL. For testing, use:<br />
<pre class="crayon-plain-tag">https://api-test.tripletex.tech/v2/token/session/:create?consumerToken={{User::ConsumerToken}}&amp;employeeToken={{User::EmployeeToken}}&amp;expirationDate=2026-12-31</pre>
</li>
<li>For production environments, use:<br />
<pre class="crayon-plain-tag">https://tripletex.no/v2/token/session/:create?consumerToken={{User::ConsumerToken}}&amp;employeeToken={{User::EmployeeToken}}&amp;expirationDate=2026-12-31</pre>
</li>
<li>Use a future expiration date when you generate the token. If you copy these examples later, replace the sample date before testing.</li>
<li>Set the <strong>HTTP Request Method</strong> to <strong>PUT</strong>.</li>
<li>Test the connection. If successful, you will see the generated session token in the response.
<div id="attachment_12055" style="width: 1141px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-generate-session-token.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-12055" class="size-full wp-image-12055" src="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-generate-session-token.png" alt="Tripletex - Generate Session Token" width="1131" height="804" srcset="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-generate-session-token.png 1131w, https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-generate-session-token-300x213.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-generate-session-token-1024x728.png 1024w, https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-generate-session-token-768x546.png 768w" sizes="(max-width: 1131px) 100vw, 1131px" /></a><p id="caption-attachment-12055" class="wp-caption-text">Tripletex &#8211; Generate Session Token</p></div></li>
</ol>
<h3>Use an HTTP dynamic token connection (recommended)</h3>
<p>You can also generate and reuse the session token through an HTTP connection with a dynamic token configuration.</p>
<ol>
<li>Right-click in the <strong>Connection Managers</strong> pane and select <strong>New Connection&#8230;</strong></li>
<li>Select <strong>ZS-HTTP</strong> from the SSIS connectors list
<div id="attachment_11989" style="width: 1035px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/04/Create-a-new-HTTP-connection.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11989" class="size-full wp-image-11989" src="https://zappysys.com/blog/wp-content/uploads/2026/04/Create-a-new-HTTP-connection.png" alt="" width="1025" height="447" srcset="https://zappysys.com/blog/wp-content/uploads/2026/04/Create-a-new-HTTP-connection.png 1025w, https://zappysys.com/blog/wp-content/uploads/2026/04/Create-a-new-HTTP-connection-300x131.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/04/Create-a-new-HTTP-connection-768x335.png 768w" sizes="(max-width: 1025px) 100vw, 1025px" /></a><p id="caption-attachment-11989" class="wp-caption-text">Create a new HTTP connection</p></div></li>
<li>Enter the following URL with the consumer and employee token:<br />
<pre class="crayon-plain-tag">https://api-test.tripletex.tech/v2/token/session/:create?consumerToken={ConsumerToken}&amp;employeeToken={EmployeeToken}&amp;expirationDate=2026-12-31</pre>
</li>
<li>In <strong>Credentials Type</strong>, select <strong><strong>Dynamic Token.</strong></strong></li>
<li>In the <strong>Auth header name</strong>, use <strong>Authorization</strong>.</li>
<li>For the <strong>Auth Scheme</strong>, select <strong>Basic</strong>.
<div id="attachment_12132" style="width: 738px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-SSIS-HTTP-connection.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-12132" class="size-full wp-image-12132" src="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-SSIS-HTTP-connection.png" alt="" width="728" height="675" srcset="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-SSIS-HTTP-connection.png 728w, https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-SSIS-HTTP-connection-300x278.png 300w" sizes="(max-width: 728px) 100vw, 728px" /></a><p id="caption-attachment-12132" class="wp-caption-text">Tripletex &#8211; SSIS HTTP connection</p></div></li>
<li>Go to the <strong>Dynamic Token</strong> tab.</li>
<li>Enter the previous URL.</li>
<li>Set the <strong>HTTP Request Method</strong> to <strong>PUT.<br />
</strong></p>
<div id="attachment_12067" style="width: 628px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-ODBC-dynamic-token.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-12067" class="wp-image-12067 size-full" src="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-ODBC-dynamic-token.png" alt="" width="618" height="595" srcset="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-ODBC-dynamic-token.png 618w, https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-ODBC-dynamic-token-300x289.png 300w" sizes="(max-width: 618px) 100vw, 618px" /></a><p id="caption-attachment-12067" class="wp-caption-text">Tripletex &#8211; ODBC dynamic token</p></div></li>
<li>Go to the <strong>Response Settings</strong> tab.</li>
<li>Select <strong>Expression Type</strong> as <strong>JSON</strong> and use this JSONPath to get the Session Token: <pre class="crayon-plain-tag">$.value.token</pre></li>
<li>In <strong>Token Function</strong>, use the following function. The Authorization header must contain the Company ID (enter your Tripletex company ID, or use 0 if it is unknown) and Session Token in Base64-encoded format: <pre class="crayon-plain-tag">&lt;&lt;0:[$token$],FUN_BASE64ENC&gt;&gt;</pre></li>
<li>Click <strong>OK</strong> to save the connection configuration.
<div id="attachment_12133" style="width: 738px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-SSIS-save-Session-Token.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-12133" class="size-full wp-image-12133" src="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-SSIS-save-Session-Token.png" alt="" width="728" height="675" srcset="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-SSIS-save-Session-Token.png 728w, https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-SSIS-save-Session-Token-300x278.png 300w" sizes="(max-width: 728px) 100vw, 728px" /></a><p id="caption-attachment-12133" class="wp-caption-text">Tripletex &#8211; SSIS save Session Token</p></div></li>
</ol>
<h3>Create and configure the JSON Source</h3>
<ol>
<li>Add a new Data Flow Task to your SSIS package. Connect it downstream from the REST API task you created before.</li>
<li>Double-click the Data Flow Task to enter the Data Flow design surface.</li>
<li>Drag a <a href="https://zappysys.com/products/ssis-powerpack/ssis-json-file-source/">ZappySys JSON Source</a> component from the toolbox onto the canvas.
<div id="attachment_11533" style="width: 553px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2015/09/ssis-json-source-adapter-drag.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11533" class="wp-image-11533 size-full" src="https://zappysys.com/blog/wp-content/uploads/2015/09/ssis-json-source-adapter-drag.png" alt="SSIS JSON Source - Drag and Drop" width="543" height="146" srcset="https://zappysys.com/blog/wp-content/uploads/2015/09/ssis-json-source-adapter-drag.png 543w, https://zappysys.com/blog/wp-content/uploads/2015/09/ssis-json-source-adapter-drag-300x81.png 300w" sizes="(max-width: 543px) 100vw, 543px" /></a><p id="caption-attachment-11533" class="wp-caption-text">SSIS JSON Source &#8211; Drag and Drop</p></div></li>
<li>Double-click the <a href="https://zappysys.com/products/ssis-powerpack/ssis-json-file-source/" target="_blank" rel="noopener"><strong>ZappySys JSON Source</strong></a> to open its editor.</li>
<li>For testing purposes, enter the following URL:<br />
<pre class="crayon-plain-tag">https://api-test.tripletex.tech/v2/currency</pre>
</li>
<li>Set the <strong>HTTP Request Method</strong> to <strong>GET</strong>.</li>
<li>Click the <strong>Headers</strong> tab and add the required Tripletex authentication headers. The Authorization header must contain the Company ID and Session Token in Base64-encoded format:<br />
<pre class="crayon-plain-tag">Accept: application/json
Authorization: Basic &lt;&lt;{{User::CompanyID}}:{{User::SessionToken}},FUN_BASE64ENC}}&gt;&gt;</pre>
<div class="mceTemp"></div>
</li>
<li>If you want to use the connection option (recommended), select <strong>Use credentials</strong> and choose the connection you created earlier.</li>
<li>In the <strong>Array Filter</strong> field, specify the JSON path to extract the data array from the Tripletex response: <code>$.value</code></li>
<li>Click <strong>Preview Data</strong> to test the connection and verify that data is being retrieved correctly from Tripletex.
<div id="attachment_12131" style="width: 924px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-JSON-Source-result.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-12131" class="size-full wp-image-12131" src="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-JSON-Source-result.png" alt="" width="914" height="919" srcset="https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-JSON-Source-result.png 914w, https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-JSON-Source-result-298x300.png 298w, https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-JSON-Source-result-150x150.png 150w, https://zappysys.com/blog/wp-content/uploads/2026/04/Tripletex-JSON-Source-result-768x772.png 768w" sizes="(max-width: 914px) 100vw, 914px" /></a><p id="caption-attachment-12131" class="wp-caption-text">Tripletex &#8211; JSON Source result</p></div></li>
<li>Click <strong>OK</strong> to save the configuration.</li>
</ol>
<h3>Configure the data destination</h3>
<ol>
<li>Drag and drop a destination component (such as <strong>OLE DB Destination</strong>, <strong>Flat File Destination</strong>, or <strong>Trash Destination</strong>) into the Data Flow.</li>
<li>Connect the output arrow from the JSON Source component to the destination component.</li>
<li>Double-click the destination component to open its configuration dialog.</li>
<li>Configure the destination to point to your target table or file where Tripletex data will be stored.</li>
<li>In the <strong>Mappings</strong> section, map the columns from the JSON response to the corresponding destination columns.</li>
<li>Click <strong>OK</strong> to save the destination configuration.</li>
<li>Execute the package and verify that data extraction is working correctly.
<div id="attachment_11970" style="width: 284px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/04/Jamf-Final-Result.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11970" class="size-full wp-image-11970" src="https://zappysys.com/blog/wp-content/uploads/2026/04/Jamf-Final-Result.png" alt="" width="274" height="260" /></a><p id="caption-attachment-11970" class="wp-caption-text">Tripletex &#8211; Final Result</p></div></li>
</ol>
<h2>Conclusion</h2>
<p>You have now set up a complete integration between Tripletex and SSIS using ZappySys components. This tutorial covered creating API credentials, configuring session token authentication, retrieving data from the Tripletex API, and loading it into SQL Server or another destination.</p>
<p>This pattern can help automate business processes such as invoice tracking, customer synchronization, project reporting, and financial analysis. By using ZappySys SSIS PowerPack, you can build the workflow with less custom code while keeping the package easier to maintain.</p>
<p>Explore the full capabilities of <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack</a> to extend this solution with additional transformations, data validation, error handling, and scheduling through SQL Server Agent.</p>
<h2>Frequently Asked Questions</h2>
<h3>Why does Tripletex require a session token?</h3>
<p>Tripletex uses a session token for API authentication. In this workflow, the session token is generated from the Consumer Token and Employee Token before SSIS sends requests to the API.</p>
<h3>Should I use the REST API Task or a dynamic token connection?</h3>
<p>Both approaches can work. A dynamic token connection is often easier to reuse across multiple components because the token generation logic is stored in the connection instead of being repeated in each task.</p>
<h3>What should I check if authentication fails?</h3>
<p>Confirm that the Consumer Token and Employee Token are correct, the expiration date is still in the future, and the Authorization header contains the expected Company ID and session token values.</p>
<h2>Next step</h2>
<p>If you want to build similar API integrations in SSIS, download <a href="https://zappysys.com/products/ssis-powerpack/download" target="_blank" rel="noopener">SSIS PowerPack</a> and use the same pattern for other REST API workflows.</p>
<h2>Need Help?</h2>
<p class="section-intro">If you encounter any issues, our support team is here to help:</p>
<ol>
<li><strong>Live Chat</strong> &mdash; Use the chat widget in the bottom-right corner of this page.</li>
<li><strong>Email</strong> &mdash; support@zappysys.com</li>
<li><strong>Support Center</strong> &mdash; Visit the ZappySys Support Portal.</li>
</ol>
<p>The post <a href="https://zappysys.com/blog/ssis-tutorial-how-to-connect-tripletex-in-ssis/">SSIS tutorial: How export data from Tripletex</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SSIS tutorial: How to connect Blogger with SSIS</title>
		<link>https://zappysys.com/blog/ssis-tutorial-how-to-connect-blogger-with-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys Team]]></dc:creator>
		<pubDate>Fri, 27 Mar 2026 11:41:30 +0000</pubDate>
				<category><![CDATA[SSIS JSON Source (File/REST)]]></category>
		<category><![CDATA[SSIS PowerPack]]></category>
		<category><![CDATA[SSIS REST API Task]]></category>
		<category><![CDATA[SSIS Upsert Destination]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=11893</guid>

					<description><![CDATA[<p>Introduction This tutorial walks you through the process of extracting blog posts and comments data from Blogger using the REST API and Zappysys SSIS connectors. In this guide, you will learn how to authenticate with the Blogger REST API, configure a Zappysys REST data source, and load extracted data into SQL Server. This approach eliminates [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/ssis-tutorial-how-to-connect-blogger-with-ssis/">SSIS tutorial: How to connect Blogger with SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p class="intro-text"><a href="https://zappysys.com/blog/wp-content/uploads/2026/03/logo.png"><img loading="lazy" decoding="async" class=" wp-image-11901 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2026/03/logo-150x150.png" alt="Blogger Logo" width="134" height="134" srcset="https://zappysys.com/blog/wp-content/uploads/2026/03/logo-150x150.png 150w, https://zappysys.com/blog/wp-content/uploads/2026/03/logo-300x300.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/03/logo.png 512w" sizes="(max-width: 134px) 100vw, 134px" /></a>This tutorial walks you through the process of extracting blog posts and comments data from Blogger using the REST API and Zappysys SSIS connectors. In this guide, you will learn how to authenticate with the Blogger REST API, configure a Zappysys REST data source, and load extracted data into SQL Server. This approach eliminates the need for custom code and provides a graphical interface for managing complex API integrations.</p>
<p class="intro-text">Zappysys provides a powerful REST connector that simplifies integrating cloud-based APIs into your SQL Server Integration Services packages. We will demonstrate a practical ETL pattern using ZappySys REST connectivity to extract data from Blogger and load it into SQL Server within SSIS.</p>
<p><!-- Prerequisites --></p>
<h2>Prerequisites</h2>
<p>Before you begin, make sure you have the following:</p>
<ul>
<li>First, you will need to have SSIS installed</li>
<li>Secondly, make sure to have SSDT</li>
<li>Thirdly, access to a Blogger blog with appropriate permissions to read public posts and comments.</li>
<li>Finally, do not forget to install ZappySys <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">SSIS PowerPack.</a></li>
</ul>
<p><!-- Step-by-Step Guide --></p>
<h2>Steps</h2>
<h3>Create/Select a Project in the Google API Console</h3>
<ol>
<li>Navigate to the <a href="https://console.developers.google.com/">Google API Console</a>.</li>
<li>Click on the Project Dropdown at the top bar and either select an existing project or create a new one by clicking <strong>CREATE PROJECT</strong>.
<div id="attachment_11905" style="width: 807px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/03/Google-Console-Create-or-select-project.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11905" class="wp-image-11905 size-full" src="https://zappysys.com/blog/wp-content/uploads/2026/03/Google-Console-Create-or-select-project.png" alt="" width="797" height="255" srcset="https://zappysys.com/blog/wp-content/uploads/2026/03/Google-Console-Create-or-select-project.png 797w, https://zappysys.com/blog/wp-content/uploads/2026/03/Google-Console-Create-or-select-project-300x96.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/03/Google-Console-Create-or-select-project-768x246.png 768w" sizes="(max-width: 797px) 100vw, 797px" /></a><p id="caption-attachment-11905" class="wp-caption-text">Google Console &#8211; Create or select a project</p></div></li>
<li>Once the project is set, click <strong>ENABLE APIS AND SERVICES</strong>.</li>
<li>Search for the <strong>Blogger API v3</strong> and click <strong>ENABLE</strong>.
<div id="attachment_11903" style="width: 690px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/03/Google-Console-Enable-Blogger-API.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11903" class="wp-image-11903 size-full" src="https://zappysys.com/blog/wp-content/uploads/2026/03/Google-Console-Enable-Blogger-API.png" alt="" width="680" height="265" srcset="https://zappysys.com/blog/wp-content/uploads/2026/03/Google-Console-Enable-Blogger-API.png 680w, https://zappysys.com/blog/wp-content/uploads/2026/03/Google-Console-Enable-Blogger-API-300x117.png 300w" sizes="(max-width: 680px) 100vw, 680px" /></a><p id="caption-attachment-11903" class="wp-caption-text">Google Console &#8211; Enable Blogger API</p></div></li>
<li>Return to the main screen and click on the <strong>OAuth Consent Screen</strong> tab.</li>
<li>Select the <strong>External</strong> user type and click <strong>CREATE</strong>.</li>
<li>Provide the application name, user support email, and developer contact information, then click <strong>SAVE AND CONTINUE</strong>.</li>
<li>Click through the remaining scopes and summary pages (no additional scopes are required for this tutorial), and click <strong>SAVE AND CONTINUE</strong> on each.</li>
<li>Move to the <strong>Credentials</strong> tab.</li>
<li>Click <strong>CREATE CREDENTIALS</strong> in the top bar, choose <strong>OAuth Client ID</strong>, select <strong>Desktop App</strong> as the Application Type, and click <strong>Create</strong> to obtain your Client ID and Secret.
<div id="attachment_11904" style="width: 910px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/03/Google-Console-Create-credentials.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11904" class="wp-image-11904 size-full" src="https://zappysys.com/blog/wp-content/uploads/2026/03/Google-Console-Create-credentials.png" alt="" width="900" height="335" srcset="https://zappysys.com/blog/wp-content/uploads/2026/03/Google-Console-Create-credentials.png 900w, https://zappysys.com/blog/wp-content/uploads/2026/03/Google-Console-Create-credentials-300x112.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/03/Google-Console-Create-credentials-768x286.png 768w" sizes="(max-width: 900px) 100vw, 900px" /></a><p id="caption-attachment-11904" class="wp-caption-text">Google Console &#8211; Create credentials</p></div></li>
<li>Download the credentials JSON file and save it in a secure location on your development machine.</li>
</ol>
<h3>Create the OAuth connection for Blogger</h3>
<ol>
<li>Create or select your SSIS project, and open the package.dtsx file.</li>
<li>Drag and drop the ZS REST API task from the Toolbox.</li>
<li>Inside<strong> Connection Manager</strong>, right-click and select <strong>New connection&#8230;</strong></li>
<li>Inside the SSIS connectors, select the <strong><strong>ZS-OAuth<br />
</strong></strong></p>
<div id="attachment_11825" style="width: 959px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2020/02/Create-a-new-SSIS-OAuth-API-Connection-Manager.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11825" class="size-full wp-image-11825" src="https://zappysys.com/blog/wp-content/uploads/2020/02/Create-a-new-SSIS-OAuth-API-Connection-Manager.png" alt="" width="949" height="447" srcset="https://zappysys.com/blog/wp-content/uploads/2020/02/Create-a-new-SSIS-OAuth-API-Connection-Manager.png 949w, https://zappysys.com/blog/wp-content/uploads/2020/02/Create-a-new-SSIS-OAuth-API-Connection-Manager-300x141.png 300w, https://zappysys.com/blog/wp-content/uploads/2020/02/Create-a-new-SSIS-OAuth-API-Connection-Manager-768x362.png 768w" sizes="(max-width: 949px) 100vw, 949px" /></a><p id="caption-attachment-11825" class="wp-caption-text">Create a new SSIS OAuth API Connection Manager</p></div></li>
<li>Select the <strong>Google API provider</strong></li>
<li>Enter the <strong>Client</strong> ID and <strong>Client Secret</strong> you generated in the past step</li>
<li>Use Blogger URL scope: <code>https://www.googleapis.com/auth/blogger</code></li>
<li>Generate the token</li>
<li>Test the connection to ensure it is working correctly.</li>
<li>Click OK to save the connection.
<div id="attachment_11907" style="width: 713px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/03/OAuth-connection-Blogger-API.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11907" class="size-full wp-image-11907" src="https://zappysys.com/blog/wp-content/uploads/2026/03/OAuth-connection-Blogger-API.png" alt="" width="703" height="698" srcset="https://zappysys.com/blog/wp-content/uploads/2026/03/OAuth-connection-Blogger-API.png 703w, https://zappysys.com/blog/wp-content/uploads/2026/03/OAuth-connection-Blogger-API-300x298.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/03/OAuth-connection-Blogger-API-150x150.png 150w" sizes="(max-width: 703px) 100vw, 703px" /></a><p id="caption-attachment-11907" class="wp-caption-text">OAuth connection &#8211; Blogger API</p></div></li>
</ol>
<h3>Get information from a Blog</h3>
<ol>
<li>Create a string variable <code>{{User::BlogID}}</code> and enter the ID from the blog you want to get information from.</li>
<li>From the SSIS Toolbox, drag the<a href="https://zappysys.com/products/ssis-powerpack/ssis-rest-api-web-service-task/"><strong> ZS REST API Task</strong></a> onto the Control Flow designer.</li>
<li>Double-click the task to open the editor.</li>
<li>Select the connection manager you created in the previous step.</li>
<li>In the URL Path field, enter: <code>https://www.googleapis.com/blogger/v3/blogs/{{User::BlogID}}/posts</code></li>
<li>Set the HTTP method to <strong>GET</strong>.</li>
<li>Click the Preview tab to test the API connection and view sample data.</li>
<li>If the preview is successful, click OK to configure the task.
<div id="attachment_11908" style="width: 917px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/03/REST-API-task-Blogger-example.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11908" class="size-full wp-image-11908" src="https://zappysys.com/blog/wp-content/uploads/2026/03/REST-API-task-Blogger-example.png" alt="" width="907" height="729" srcset="https://zappysys.com/blog/wp-content/uploads/2026/03/REST-API-task-Blogger-example.png 907w, https://zappysys.com/blog/wp-content/uploads/2026/03/REST-API-task-Blogger-example-300x241.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/03/REST-API-task-Blogger-example-768x617.png 768w" sizes="(max-width: 907px) 100vw, 907px" /></a><p id="caption-attachment-11908" class="wp-caption-text">REST API task &#8211; Blogger example</p></div></li>
</ol>
<h3>Save the information in a SQL table</h3>
<ol>
<li>Drag and drop a Data Flow into the Control Flow and double-click it.
<div id="attachment_11784" style="width: 485px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-Data-flow.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11784" class="size-full wp-image-11784" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-Data-flow.png" alt="" width="475" height="178" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-Data-flow.png 475w, https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-Data-flow-300x112.png 300w" sizes="(max-width: 475px) 100vw, 475px" /></a><p id="caption-attachment-11784" class="wp-caption-text">Drag and drop Data flow.</p></div></li>
<li>In the Data Flow, drag and drop the <a href="https://zappysys.com/products/ssis-powerpack/ssis-json-file-source/" target="_blank" rel="noopener"><strong>JSON source,</strong></a> then double-click it to configure it.
<div id="attachment_11533" style="width: 553px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2015/09/ssis-json-source-adapter-drag.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11533" class="size-full wp-image-11533" src="https://zappysys.com/blog/wp-content/uploads/2015/09/ssis-json-source-adapter-drag.png" alt="" width="543" height="146" srcset="https://zappysys.com/blog/wp-content/uploads/2015/09/ssis-json-source-adapter-drag.png 543w, https://zappysys.com/blog/wp-content/uploads/2015/09/ssis-json-source-adapter-drag-300x81.png 300w" sizes="(max-width: 543px) 100vw, 543px" /></a><p id="caption-attachment-11533" class="wp-caption-text">SSIS JSON Source &#8211; Drag and Drop</p></div></li>
<li>Use the same configuration as in the REST API task, but first enable the <strong>Use credentials </strong>option.</li>
<li>Enter the <strong>URL</strong>, select the <strong>OAuth</strong> connection, and use the Method <strong>GET</strong>.</li>
<li>You can use the filter option to get the object you want to get data from: <code>$.Items[*]</code></li>
<li>Preview the data and click <strong>OK</strong> to save the configuration.
<div id="attachment_11911" style="width: 837px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/03/JSON-Source-Blogger-Example-Request.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11911" class="size-full wp-image-11911" src="https://zappysys.com/blog/wp-content/uploads/2026/03/JSON-Source-Blogger-Example-Request.png" alt="" width="827" height="725" srcset="https://zappysys.com/blog/wp-content/uploads/2026/03/JSON-Source-Blogger-Example-Request.png 827w, https://zappysys.com/blog/wp-content/uploads/2026/03/JSON-Source-Blogger-Example-Request-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/03/JSON-Source-Blogger-Example-Request-768x673.png 768w" sizes="(max-width: 827px) 100vw, 827px" /></a><p id="caption-attachment-11911" class="wp-caption-text">JSON Source &#8211; Blogger Example Request</p></div>
<div class="mceTemp"></div>
</li>
<li>Now drag and drop a destination component. In our case, we will use the Upsert destination component.
<div id="attachment_9644" style="width: 837px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2017/08/ssis-data-flow-drag-drop-upsert-destination.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9644" class="size-full wp-image-9644" src="https://zappysys.com/blog/wp-content/uploads/2017/08/ssis-data-flow-drag-drop-upsert-destination.png" alt="SSIS - Data Flow - Drag and Drop Upsert Destination Component" width="827" height="385" srcset="https://zappysys.com/blog/wp-content/uploads/2017/08/ssis-data-flow-drag-drop-upsert-destination.png 827w, https://zappysys.com/blog/wp-content/uploads/2017/08/ssis-data-flow-drag-drop-upsert-destination-300x140.png 300w, https://zappysys.com/blog/wp-content/uploads/2017/08/ssis-data-flow-drag-drop-upsert-destination-768x358.png 768w" sizes="(max-width: 827px) 100vw, 827px" /></a><p id="caption-attachment-9644" class="wp-caption-text">SSIS &#8211; Data Flow &#8211; Drag and Drop Upsert Destination Component</p></div></li>
<li>Double-click in the <a href="https://zappysys.com/products/ssis-powerpack/ssis-upsert-destination/">Upsert destination</a> component to configure it.</li>
<li>Select the Action you want to use.</li>
<li>Create or select a database connector.</li>
<li>Create or select a table.</li>
<li>Use the options <strong>Insert</strong> or/and <strong>Update.</strong></li>
<li>Map the column; if the columns have the same name, it will be automatic.</li>
<li>Select at least one column for a <strong>primary key</strong>.</li>
<li>Click <strong>OK</strong> to save the configuration.
<div id="attachment_11912" style="width: 968px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/03/Upsert-destination-Blogger-example.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11912" class="size-full wp-image-11912" src="https://zappysys.com/blog/wp-content/uploads/2026/03/Upsert-destination-Blogger-example.png" alt="" width="958" height="645" srcset="https://zappysys.com/blog/wp-content/uploads/2026/03/Upsert-destination-Blogger-example.png 958w, https://zappysys.com/blog/wp-content/uploads/2026/03/Upsert-destination-Blogger-example-300x202.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/03/Upsert-destination-Blogger-example-768x517.png 768w, https://zappysys.com/blog/wp-content/uploads/2026/03/Upsert-destination-Blogger-example-272x182.png 272w" sizes="(max-width: 958px) 100vw, 958px" /></a><p id="caption-attachment-11912" class="wp-caption-text">Upsert destination &#8211; Blogger example</p></div></li>
<li>Run the package, and you will see the data from Blogger in your database
<div id="attachment_11930" style="width: 350px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/03/Blogger-result.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11930" class="size-full wp-image-11930" src="https://zappysys.com/blog/wp-content/uploads/2026/03/Blogger-result.png" alt="" width="340" height="207" srcset="https://zappysys.com/blog/wp-content/uploads/2026/03/Blogger-result.png 340w, https://zappysys.com/blog/wp-content/uploads/2026/03/Blogger-result-300x183.png 300w" sizes="(max-width: 340px) 100vw, 340px" /></a><p id="caption-attachment-11930" class="wp-caption-text">Blogger &#8211; result</p></div></li>
</ol>
<p><!-- Code Examples --></p>
<h2>Code Examples</h2>
<h3>Sample REST API Request</h3>
<p>Here&#8217;s an example of retrieving blog posts using the Blogger REST API:</p><pre class="crayon-plain-tag">GET https://www.googleapis.com/blogger/v3/blogs/{blogId}/posts
Authorization: Bearer {access_token}
Content-Type: application/json</pre><p>
Example response:</p><pre class="crayon-plain-tag">{
  &quot;kind&quot;: &quot;blogger#posts&quot;,
  &quot;items&quot;: [
    {
      &quot;kind&quot;: &quot;blogger#post&quot;,
      &quot;id&quot;: &quot;7109703471293209437&quot;,
      &quot;title&quot;: &quot;Getting started with Blogger API&quot;,
      &quot;content&quot;: &quot;Learn how to integrate Blogger with your applications...&quot;,
      &quot;published&quot;: &quot;2026-03-15T10:30:00Z&quot;,
      &quot;updated&quot;: &quot;2026-03-20T14:15:00Z&quot;,
      &quot;url&quot;: &quot;http://example.blogspot.com/2026/03/getting-started.html&quot;,
      &quot;author&quot;: {
        &quot;displayName&quot;: &quot;John Doe&quot;
      }
    }
  ]
}</pre><p>
<h3>SQL Table Structure</h3>
<p>Recommended table structure for storing Blogger posts data:</p><pre class="crayon-plain-tag">CREATE TABLE BloggerPosts (
    PostID BIGINT PRIMARY KEY,
    BlogID BIGINT NOT NULL,
    Title NVARCHAR(MAX),
    Content NVARCHAR(MAX),
    AuthorName NVARCHAR(255),
    PublishedDate DATETIME,
    UpdatedDate DATETIME,
    PostURL NVARCHAR(MAX),
    CreatedDate DATETIME DEFAULT GETDATE(),
    ModifiedDate DATETIME DEFAULT GETDATE()
);</pre><p>
<!-- Conclusion --></p>
<h2>Conclusion</h2>
<p class="intro-text">You have successfully learned how to use Zappysys SSIS connectors to extract data from the Blogger<br />
platform using the REST API. With ZappySys SSIS PowerPack, connecting Blogger to your SQL Server becomes<br />
straightforward and reliable. By configuring the REST connector for Blogger and using the native SSIS destination,<br />
you can build a robust ETL pipeline for extracting blog data.</p>
<p class="intro-text">Explore the full capabilities of the <a href="https://zappysys.com/products/ssis-powerpack/">ZappySys SSIS PowerPack</a> to optimize your data integration<br />
tasks. By applying this pattern, you can extend your solution to include additional transformations, data<br />
validation, error handling, and scheduling through SQL Server Agent.</p>
<p><!-- References --></p>
<p><!-- Need Help --></p>
<h2>Need Help?</h2>
<p class="section-intro">If you encounter any issues, our support team is here to help:</p>
<ol>
<li><strong>Live Chat</strong> — Use the chat widget (bottom-right corner of this page)</li>
<li><strong>Email</strong> — support@zappysys.com</li>
<li><strong>Support Center</strong> — Visit the ZappySys Support Portal</li>
</ol>
<p>The post <a href="https://zappysys.com/blog/ssis-tutorial-how-to-connect-blogger-with-ssis/">SSIS tutorial: How to connect Blogger with SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SSIS tutorial: How to load MariaDB data into MongoDB</title>
		<link>https://zappysys.com/blog/how-to-load-mariadb-data-into-mongodb/</link>
		
		<dc:creator><![CDATA[ZappySys Team]]></dc:creator>
		<pubDate>Fri, 27 Feb 2026 12:20:05 +0000</pubDate>
				<category><![CDATA[SSIS MongoDB ExecuteSQL]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=11787</guid>

					<description><![CDATA[<p>Introduction In our previous post, we explored how to read and write MongoDB data using the ZappySys MongoDB Source and Destination SSIS connectors. In this article, you will learn how to connect MariaDB to MongoDB using ZappySys SSIS PowerPack and transfer data between both systems. We will demonstrate a practical ETL pattern using ZappySys ODBC/JDBC connectivity to [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/how-to-load-mariadb-data-into-mongodb/">SSIS tutorial: How to load MariaDB data into MongoDB</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><img loading="lazy" decoding="async" class="size-full wp-image-2115 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2017/08/mongodb-logo.png" alt="" width="88" height="88" />In our previous post, we explored how to read and write MongoDB data using the <a href="https://zappysys.com/products/ssis-powerpack/ssis-mongodb-source/" target="_blank" rel="noopener">ZappySys MongoDB Source</a> and <a href="https://zappysys.com/products/ssis-powerpack/ssis-mongodb-destination/" target="_blank" rel="noopener">Destination</a> SSIS connectors. In this article, you will learn how to connect MariaDB to MongoDB using ZappySys SSIS PowerPack and transfer data between both systems.</p>
<p>We will demonstrate a practical ETL pattern using ZappySys ODBC/JDBC connectivity to extract data from MariaDB and load it into MongoDB within SSIS.</p>
<h2>Prerequisites</h2>
<p>Before you begin, make sure you have the following:</p>
<ul>
<li>First, you will need to have SSIS installed</li>
<li>Secondly, make sure to have SSDT</li>
<li>Thirdly, access credentials for both MariaDB and MongoDB</li>
<li>Finally, do not forget to install ZappySys <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">SSIS PowerPack</a> and ZappySys <a href="https://zappysys.com/products/ODBC-powerpack/" target="_blank" rel="noopener">ODBC PowerPack</a></li>
</ul>
<h2>Steps</h2>
<h3>Configure MariaDB Connection Using ODBC (JDBC Bridge)</h3>
<p>Since MariaDB connectivity is handled via JDBC, we will use the <strong>ZappySys JDBC Bridge Driver</strong> to expose it as an ODBC data source.</p>
<ol>
<li>Visit the <a href="https://mariadb.com/downloads/connectors/connectors-data-access/java8-connector">official MariaDB website</a>.</li>
<li>Download the latest <strong>MariaDB JDBC driver</strong>.</li>
<li>Save the <code inline="">.jar</code> file locally, for example: <span style="background-color: #f2f4f5; color: #222222; font-family: 'Courier 10 Pitch', Courier, monospace; font-size: 12.8px;">D:\Zappysys\drivers\mariadb-java-client-3.5.7.jar</span></li>
<li>Download and install <a href="https://zappysys.com/products/odbc-powerpack/download/"><strong>ZappySys ODBC PowerPack</strong></a> if not already installed.</li>
<li>Open <strong>ODBC Data Sources (64-bit)</strong>.
<div id="attachment_6213" style="width: 404px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/01/how-to-open-odbc-data-source-administrator-2.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6213" class="wp-image-6213 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/01/how-to-open-odbc-data-source-administrator-2.png" alt="" width="394" height="542" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/how-to-open-odbc-data-source-administrator-2.png 394w, https://zappysys.com/blog/wp-content/uploads/2019/01/how-to-open-odbc-data-source-administrator-2-218x300.png 218w" sizes="(max-width: 394px) 100vw, 394px" /></a><p id="caption-attachment-6213" class="wp-caption-text">Open ODBC Data Sources</p></div></li>
<li>Create a <strong>User data source</strong> (User DSN) based on <strong>ZappySys JDBC Bridge Driver</strong>:
<div id="attachment_11767" style="width: 632px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Create-a-User-data-source.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11767" class="size-full wp-image-11767" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Create-a-User-data-source.png" alt="" width="622" height="517" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Create-a-User-data-source.png 622w, https://zappysys.com/blog/wp-content/uploads/2026/02/Create-a-User-data-source-300x249.png 300w" sizes="(max-width: 622px) 100vw, 622px" /></a><p id="caption-attachment-11767" class="wp-caption-text">Create a User data source</p></div></li>
<li>Configure the JDBC Connection. Fill in the connection details
<ul style="list-style-type: disc;">
<li><strong>Connection String  </strong><code>jdbc:mariadb://{host-name}:{port}/{database-name}<br />
</code></li>
<li><strong>JDBC Driver File </strong><code>D:\Zappysys\drivers\mariadb-java-client-3.5.7.jar<br />
</code></li>
<li><strong>Username </strong><code>root<br />
</code></li>
<li><strong>Password </strong><code>********<br />
</code></li>
<li><strong>Connection Parameters</strong><code>[]</code></li>
</ul>
</li>
<li>Click <strong>Test Connection</strong>. If configured correctly, you should see a success message.
<div class="mceTemp"></div>
<div id="attachment_11768" style="width: 814px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-Mariadb.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11768" class="size-full wp-image-11768" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-Mariadb.png" alt="" width="804" height="704" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-Mariadb.png 804w, https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-Mariadb-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-Mariadb-768x672.png 768w" sizes="(max-width: 804px) 100vw, 804px" /></a><p id="caption-attachment-11768" class="wp-caption-text">Zappysys JDBC &#8211; MariaDB</p></div></li>
<li>You can also use the <strong>Preview</strong> tab to select the table and execute SQL queries. For advanced SQL examples, refer to the <a href="https://zappysys.com/onlinehelp/odbc-powerpack/index.htm#page=jdbc-odbc-driver-sql-query-examples.htm" target="_blank" rel="noopener">JDBC Bridge documentation</a>.
<div id="attachment_11769" style="width: 814px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-MariaDB-preview-result.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11769" class="size-full wp-image-11769" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-MariaDB-preview-result.png" alt="" width="804" height="704" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-MariaDB-preview-result.png 804w, https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-MariaDB-preview-result-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-MariaDB-preview-result-768x672.png 768w" sizes="(max-width: 804px) 100vw, 804px" /></a><p id="caption-attachment-11769" class="wp-caption-text">Zappysys JDBC &#8211; MariaDB preview result</p></div></li>
</ol>
<h3>Connect MariaDB to SSIS</h3>
<ol>
<li>Open <strong>Visual Studio</strong>.</li>
<li>Create a <strong>New Project</strong>.</li>
<li>Select <strong>Integration Services Project</strong>.</li>
<li>Provide a project name and location, then click <strong>OK</strong>.</li>
<li>Drag and drop a <strong>Data Flow Task</strong> from the SSIS Toolbox onto the Control Flow surface.
<div id="attachment_11784" style="width: 485px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-Data-flow.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11784" class="size-full wp-image-11784" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-Data-flow.png" alt="" width="475" height="178" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-Data-flow.png 475w, https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-Data-flow-300x112.png 300w" sizes="(max-width: 475px) 100vw, 475px" /></a><p id="caption-attachment-11784" class="wp-caption-text">Drag and drop Data flow.</p></div></li>
<li>Double-click the task to open the <strong>Data Flow Designer</strong>.</li>
<li>Drag and drop an <strong>ODBC Source</strong> component into the Data Flow.
<div id="attachment_11783" style="width: 489px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-ODBC-source.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11783" class="size-full wp-image-11783" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-ODBC-source.png" alt="" width="479" height="227" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-ODBC-source.png 479w, https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-ODBC-source-300x142.png 300w" sizes="(max-width: 479px) 100vw, 479px" /></a><p id="caption-attachment-11783" class="wp-caption-text">Drag and drop the ODBC source.</p></div></li>
<li>Double-click the component to configure it.</li>
<li>Click <strong>New…</strong> to create a new ODBC Connection Manager.
<div id="attachment_11772" style="width: 763px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Creating-ODBC-Connection-Manager-in-SSIS.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11772" class="size-full wp-image-11772" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Creating-ODBC-Connection-Manager-in-SSIS.png" alt="" width="753" height="685" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Creating-ODBC-Connection-Manager-in-SSIS.png 753w, https://zappysys.com/blog/wp-content/uploads/2026/02/Creating-ODBC-Connection-Manager-in-SSIS-300x273.png 300w" sizes="(max-width: 753px) 100vw, 753px" /></a><p id="caption-attachment-11772" class="wp-caption-text">Creating an ODBC Connection Manager in SSIS</p></div></li>
<li>Select the MariaDB ODBC DSN you created earlier.</li>
<li>Click <strong>Test Connection </strong>and click <strong>OK </strong>to save the configuration.
<div id="attachment_11773" style="width: 724px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Creating-ODBC-Connection-Manager-in-SSIS-from-JDBC.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11773" class="size-full wp-image-11773" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Creating-ODBC-Connection-Manager-in-SSIS-from-JDBC.png" alt="" width="714" height="620" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Creating-ODBC-Connection-Manager-in-SSIS-from-JDBC.png 714w, https://zappysys.com/blog/wp-content/uploads/2026/02/Creating-ODBC-Connection-Manager-in-SSIS-from-JDBC-300x261.png 300w" sizes="(max-width: 714px) 100vw, 714px" /></a><p id="caption-attachment-11773" class="wp-caption-text">Creating an ODBC Connection Manager in SSIS from JDBC</p></div></li>
<li>Choose <strong>Data Access Mode: </strong>Table name or SQL command.</li>
<li>Select the desired table or enter a custom query.</li>
<li><span style="box-sizing: border-box; margin: 0px; padding: 0px;">Click <strong>Preview</strong> to validate the data, and click <strong>OK </strong>to save the configuration.<br />
</span></p>
<div id="attachment_11774" style="width: 763px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Preview-ODBC-Connection-Manager-in-SSIS-from-JDBC.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11774" class="size-full wp-image-11774" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Preview-ODBC-Connection-Manager-in-SSIS-from-JDBC.png" alt="" width="753" height="637" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Preview-ODBC-Connection-Manager-in-SSIS-from-JDBC.png 753w, https://zappysys.com/blog/wp-content/uploads/2026/02/Preview-ODBC-Connection-Manager-in-SSIS-from-JDBC-300x254.png 300w" sizes="(max-width: 753px) 100vw, 753px" /></a><p id="caption-attachment-11774" class="wp-caption-text">Preview an ODBC Connection Manager in SSIS from JDBC</p></div></li>
</ol>
<h3>Configure MongoDB Destination</h3>
<ol>
<li>In the Connection Manager pane, click <strong>New Connection</strong>.</li>
<li>Select <strong>ZS-MONGODB</strong>.</li>
<li>Configure the connection:
<ul style="list-style-type: disc;">
<li>Host</li>
<li>Username</li>
<li>Password</li>
<li>Database</li>
</ul>
</li>
<li>Use the other tabs for more configuration if needed</li>
<li>Click <strong>Test Connection </strong>and Click <strong>OK</strong>.
<div id="attachment_11793" style="width: 628px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/MongoDB-connection-configuration.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11793" class="size-full wp-image-11793" src="https://zappysys.com/blog/wp-content/uploads/2026/02/MongoDB-connection-configuration.png" alt="" width="618" height="580" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/MongoDB-connection-configuration.png 618w, https://zappysys.com/blog/wp-content/uploads/2026/02/MongoDB-connection-configuration-300x282.png 300w" sizes="(max-width: 618px) 100vw, 618px" /></a><p id="caption-attachment-11793" class="wp-caption-text">MongoDB connection configuration</p></div></li>
<li>Drag and drop the <a href="https://zappysys.com/products/ssis-powerpack/ssis-mongodb-destination/"><strong>MongoDB Destination</strong></a> component.
<div id="attachment_11792" style="width: 504px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-MongoDB-destination.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11792" class="size-full wp-image-11792" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-MongoDB-destination.png" alt="" width="494" height="248" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-MongoDB-destination.png 494w, https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-MongoDB-destination-300x151.png 300w" sizes="(max-width: 494px) 100vw, 494px" /></a><p id="caption-attachment-11792" class="wp-caption-text">Drag and drop the MongoDB destination</p></div></li>
<li>Connect it to the <strong>ODBC Source </strong>and double-click to configure it.</li>
<li>Select the MongoDB connection.
<div id="attachment_11797" style="width: 733px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/MongoDB-Destination-Select-connection.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11797" class="size-full wp-image-11797" src="https://zappysys.com/blog/wp-content/uploads/2026/02/MongoDB-Destination-Select-connection.png" alt="" width="723" height="373" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/MongoDB-Destination-Select-connection.png 723w, https://zappysys.com/blog/wp-content/uploads/2026/02/MongoDB-Destination-Select-connection-300x155.png 300w" sizes="(max-width: 723px) 100vw, 723px" /></a><p id="caption-attachment-11797" class="wp-caption-text">MongoDB Destination &#8211; Select connection</p></div></li>
<li>Go to the <strong>Properties</strong> tab and choose the operation and the target table.
<div id="attachment_11796" style="width: 733px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/MongoDB-Destination-Properties-configuration.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11796" class="size-full wp-image-11796" src="https://zappysys.com/blog/wp-content/uploads/2026/02/MongoDB-Destination-Properties-configuration.png" alt="" width="723" height="664" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/MongoDB-Destination-Properties-configuration.png 723w, https://zappysys.com/blog/wp-content/uploads/2026/02/MongoDB-Destination-Properties-configuration-300x276.png 300w" sizes="(max-width: 723px) 100vw, 723px" /></a><p id="caption-attachment-11796" class="wp-caption-text">MongoDB Destination &#8211; Properties configuration</p></div></li>
<li>Go to the <strong>Column Mappings</strong> tab and map source columns to destination columns.
<div id="attachment_11795" style="width: 733px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/MongoDB-Destination-Map-the-columns.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11795" class="size-full wp-image-11795" src="https://zappysys.com/blog/wp-content/uploads/2026/02/MongoDB-Destination-Map-the-columns.png" alt="" width="723" height="664" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/MongoDB-Destination-Map-the-columns.png 723w, https://zappysys.com/blog/wp-content/uploads/2026/02/MongoDB-Destination-Map-the-columns-300x276.png 300w" sizes="(max-width: 723px) 100vw, 723px" /></a><p id="caption-attachment-11795" class="wp-caption-text">MongoDB Destination &#8211; Map the columns.</p></div></li>
<li>Click <strong>OK </strong>to save the configuration.</li>
<li>Run the SSIS package. If everything is configured correctly, the data will be transferred from MariaDB to MongoDB.
<div id="attachment_11794" style="width: 269px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/MongoDB-Destination-Final-Result.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11794" class="size-full wp-image-11794" src="https://zappysys.com/blog/wp-content/uploads/2026/02/MongoDB-Destination-Final-Result.png" alt="" width="259" height="270" /></a><p id="caption-attachment-11794" class="wp-caption-text">MongoDB Destination &#8211; Final Result</p></div></li>
</ol>
<h2>Conclusion</h2>
<p>With ZappySys SSIS PowerPack and ODBC PowerPack, connecting MariaDB to MongoDB becomes straightforward and reliable.</p>
<p>By configuring the ODBC/JDBC bridge for MariaDB and using the native MongoDB destination in SSIS, you can build a robust ETL pipeline between the two databases.</p>
<p>Explore the full capabilities of the ZappySys <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">SSIS PowerPack</a> and ZappySys <a href="https://zappysys.com/products/ODBC-powerpack/" target="_blank" rel="noopener">ODBC PowerPack</a> to optimize your data integration tasks.</p>
<h1>Need Help?</h1>
<p>If you encounter any issues, our support team is here to help:</p>
<ul>
<li><strong>Live Chat</strong> — Use the chat widget (bottom-right corner of this page)</li>
<li><strong>Email</strong> — <a href="mailto:support@zappysys.com">support@zappysys.com</a></li>
<li><strong>Support Center</strong> — Support | ZappySys</li>
</ul>
<p>&nbsp;</p>
<p>The post <a href="https://zappysys.com/blog/how-to-load-mariadb-data-into-mongodb/">SSIS tutorial: How to load MariaDB data into MongoDB</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SSIS tutorial: Migrating MariaDB data to PostgreSQL</title>
		<link>https://zappysys.com/blog/ssis-tutorial-how-to-migrate-mariadb-data-to-postgresql/</link>
		
		<dc:creator><![CDATA[ZappySys Team]]></dc:creator>
		<pubDate>Fri, 27 Feb 2026 12:01:24 +0000</pubDate>
				<category><![CDATA[SSIS PostgreSql Connection]]></category>
		<category><![CDATA[SSIS PostgreSQL Destination]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=11762</guid>

					<description><![CDATA[<p>Introduction In our previous post, we explored how to read and write PostgreSQL data using the ZappySys PostgreSQL Source and Destination connectors for SSIS. In this article, you will learn how to connect MariaDB to PostgreSQL using ZappySys SSIS PowerPack and transfer data between both systems. We will demonstrate a practical ETL pattern using ZappySys [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/ssis-tutorial-how-to-migrate-mariadb-data-to-postgresql/">SSIS tutorial: Migrating MariaDB data to PostgreSQL</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/04/ssis-PostgreSql-Destination.png"><img loading="lazy" decoding="async" class="size-full wp-image-6816 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2019/04/ssis-PostgreSql-Destination.png" alt="PostgreSql Destination" width="100" height="100" /></a>In our previous post, we explored how to read and write PostgreSQL data using the ZappySys <a href="https://zappysys.com/products/ssis-powerpack/ssis-postgresql-source/">PostgreSQL Source</a> and <a href="https://zappysys.com/products/ssis-powerpack/ssis-postgresql-destination/">Destination</a> connectors for SSIS. In this article, you will learn how to connect MariaDB to PostgreSQL using ZappySys SSIS PowerPack and transfer data between both systems.</p>
<p>We will demonstrate a practical ETL pattern using ZappySys ODBC/JDBC connectivity to extract data from MariaDB and load it into PostgreSQL within SSIS.</p>
<h2>Prerequisites</h2>
<p>Before you begin, make sure you have the following:</p>
<ul>
<li>First, you will need to have SSIS installed</li>
<li>Secondly, make sure to have SSDT</li>
<li>Thirdly, access credentials for both MariaDB and PostgreSQL</li>
<li>Finally, do not forget to install ZappySys <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">SSIS PowerPack</a> and ZappySys <a href="https://zappysys.com/products/ODBC-powerpack/" target="_blank" rel="noopener">ODBC PowerPack</a></li>
</ul>
<h2>Steps</h2>
<h3>Configure MariaDB Connection Using ODBC (JDBC Bridge)</h3>
<p>Since MariaDB connectivity is handled via JDBC, we will use the <strong>ZappySys JDBC Bridge Driver</strong> to expose it as an ODBC data source.</p>
<ol>
<li>Visit the <a href="https://mariadb.com/downloads/connectors/connectors-data-access/java8-connector">official MariaDB website</a>.</li>
<li>Download the latest <strong>MariaDB JDBC driver</strong>.</li>
<li>Save the <code inline="">.jar</code> file locally, for example: <span style="background-color: #f2f4f5; color: #222222; font-family: 'Courier 10 Pitch', Courier, monospace; font-size: 12.8px;">D:\Zappysys\drivers\mariadb-java-client-3.5.7.jar</span></li>
<li>Download and install <a href="https://zappysys.com/products/odbc-powerpack/download/"><strong>ZappySys ODBC PowerPack</strong></a> if not already installed.</li>
<li>Open <strong>ODBC Data Sources (64-bit)</strong>.
<div id="attachment_6213" style="width: 404px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/01/how-to-open-odbc-data-source-administrator-2.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6213" class="wp-image-6213 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/01/how-to-open-odbc-data-source-administrator-2.png" alt="" width="394" height="542" srcset="https://zappysys.com/blog/wp-content/uploads/2019/01/how-to-open-odbc-data-source-administrator-2.png 394w, https://zappysys.com/blog/wp-content/uploads/2019/01/how-to-open-odbc-data-source-administrator-2-218x300.png 218w" sizes="(max-width: 394px) 100vw, 394px" /></a><p id="caption-attachment-6213" class="wp-caption-text">Open ODBC Data Sources</p></div></li>
<li>Create a <strong>User data source</strong> (User DSN) based on <strong>ZappySys JDBC Bridge Driver</strong>:
<div id="attachment_11767" style="width: 632px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Create-a-User-data-source.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11767" class="size-full wp-image-11767" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Create-a-User-data-source.png" alt="" width="622" height="517" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Create-a-User-data-source.png 622w, https://zappysys.com/blog/wp-content/uploads/2026/02/Create-a-User-data-source-300x249.png 300w" sizes="(max-width: 622px) 100vw, 622px" /></a><p id="caption-attachment-11767" class="wp-caption-text">Create a User data source</p></div></li>
<li>Configure the JDBC Connection. Fill in the connection details
<ul style="list-style-type: disc;">
<li><strong>Connection String  </strong><code>jdbc:mariadb://{host-name}:{port}/{database-name}<br />
</code></li>
<li><strong>JDBC Driver File </strong><code>D:\Zappysys\drivers\mariadb-java-client-3.5.7.jar<br />
</code></li>
<li><strong>Username </strong><code>root<br />
</code></li>
<li><strong>Password </strong><code>********<br />
</code></li>
<li><strong>Connection Parameters</strong><code>[]</code></li>
</ul>
</li>
<li>Click <strong>Test Connection</strong>. If configured correctly, you should see a success message.
<div class="mceTemp"></div>
<div id="attachment_11768" style="width: 814px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-Mariadb.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11768" class="size-full wp-image-11768" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-Mariadb.png" alt="" width="804" height="704" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-Mariadb.png 804w, https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-Mariadb-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-Mariadb-768x672.png 768w" sizes="(max-width: 804px) 100vw, 804px" /></a><p id="caption-attachment-11768" class="wp-caption-text">Zappysys JDBC &#8211; MariaDB</p></div></li>
<li>You can also use the <strong>Preview</strong> tab to select the table and execute SQL queries. For advanced SQL examples, refer to the <a href="https://zappysys.com/onlinehelp/odbc-powerpack/index.htm#page=jdbc-odbc-driver-sql-query-examples.htm" target="_blank" rel="noopener">JDBC Bridge documentation</a>.
<div id="attachment_11769" style="width: 814px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-MariaDB-preview-result.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11769" class="size-full wp-image-11769" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-MariaDB-preview-result.png" alt="" width="804" height="704" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-MariaDB-preview-result.png 804w, https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-MariaDB-preview-result-300x263.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/Zappysys-JDBC-MariaDB-preview-result-768x672.png 768w" sizes="(max-width: 804px) 100vw, 804px" /></a><p id="caption-attachment-11769" class="wp-caption-text">Zappysys JDBC &#8211; MariaDB preview result</p></div></li>
</ol>
<h3>Connect MariaDB to SSIS</h3>
<ol>
<li>Open <strong>Visual Studio</strong>.</li>
<li>Create a <strong>New Project</strong>.</li>
<li>Select <strong>Integration Services Project</strong>.</li>
<li>Provide a project name and location, then click <strong>OK</strong>.</li>
<li>Drag and drop a <strong>Data Flow Task</strong> from the SSIS Toolbox onto the Control Flow surface.
<div id="attachment_11784" style="width: 485px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-Data-flow.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11784" class="size-full wp-image-11784" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-Data-flow.png" alt="" width="475" height="178" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-Data-flow.png 475w, https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-Data-flow-300x112.png 300w" sizes="(max-width: 475px) 100vw, 475px" /></a><p id="caption-attachment-11784" class="wp-caption-text">Drag and drop Data flow.</p></div></li>
<li>Double-click the task to open the <strong>Data Flow Designer</strong>.</li>
<li>Drag and drop an <strong>ODBC Source</strong> component into the Data Flow.
<div id="attachment_11783" style="width: 489px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-ODBC-source.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11783" class="size-full wp-image-11783" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-ODBC-source.png" alt="" width="479" height="227" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-ODBC-source.png 479w, https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-ODBC-source-300x142.png 300w" sizes="(max-width: 479px) 100vw, 479px" /></a><p id="caption-attachment-11783" class="wp-caption-text">Drag and drop the ODBC source.</p></div></li>
<li>Double-click the component to configure it.</li>
<li>Click <strong>New…</strong> to create a new ODBC Connection Manager.
<div id="attachment_11772" style="width: 763px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Creating-ODBC-Connection-Manager-in-SSIS.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11772" class="size-full wp-image-11772" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Creating-ODBC-Connection-Manager-in-SSIS.png" alt="" width="753" height="685" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Creating-ODBC-Connection-Manager-in-SSIS.png 753w, https://zappysys.com/blog/wp-content/uploads/2026/02/Creating-ODBC-Connection-Manager-in-SSIS-300x273.png 300w" sizes="(max-width: 753px) 100vw, 753px" /></a><p id="caption-attachment-11772" class="wp-caption-text">Creating an ODBC Connection Manager in SSIS</p></div></li>
<li>Select the MariaDB ODBC DSN you created earlier.</li>
<li>Click <strong>Test Connection </strong>and click <strong>OK </strong>to save the configuration.
<div id="attachment_11773" style="width: 724px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Creating-ODBC-Connection-Manager-in-SSIS-from-JDBC.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11773" class="size-full wp-image-11773" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Creating-ODBC-Connection-Manager-in-SSIS-from-JDBC.png" alt="" width="714" height="620" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Creating-ODBC-Connection-Manager-in-SSIS-from-JDBC.png 714w, https://zappysys.com/blog/wp-content/uploads/2026/02/Creating-ODBC-Connection-Manager-in-SSIS-from-JDBC-300x261.png 300w" sizes="(max-width: 714px) 100vw, 714px" /></a><p id="caption-attachment-11773" class="wp-caption-text">Creating an ODBC Connection Manager in SSIS from JDBC</p></div></li>
<li>Choose <strong>Data Access Mode: </strong>Table name or SQL command.</li>
<li>Select the desired table or enter a custom query.</li>
<li><span style="box-sizing: border-box; margin: 0px; padding: 0px;"><span style="box-sizing: border-box; margin: 0px; padding: 0px;">Click <strong>Preview</strong> to validate the data, and click <strong>OK </strong>to save the configuration.<br />
</span></span></p>
<div id="attachment_11774" style="width: 763px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Preview-ODBC-Connection-Manager-in-SSIS-from-JDBC.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11774" class="size-full wp-image-11774" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Preview-ODBC-Connection-Manager-in-SSIS-from-JDBC.png" alt="" width="753" height="637" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Preview-ODBC-Connection-Manager-in-SSIS-from-JDBC.png 753w, https://zappysys.com/blog/wp-content/uploads/2026/02/Preview-ODBC-Connection-Manager-in-SSIS-from-JDBC-300x254.png 300w" sizes="(max-width: 753px) 100vw, 753px" /></a><p id="caption-attachment-11774" class="wp-caption-text">Preview an ODBC Connection Manager in SSIS from JDBC</p></div></li>
</ol>
<h3>Configure PostgreSQL Destination</h3>
<ol>
<li>In the Connection Manager pane, click <strong>New Connection</strong>.</li>
<li>Select <strong>ZS-POSTGRESQL</strong>.</li>
<li>Configure the connection:
<ul style="list-style-type: disc;">
<li>Host</li>
<li>Username</li>
<li>Password</li>
<li>Port</li>
<li>Database name</li>
</ul>
</li>
<li>Use the other tabs for more configuration if needed</li>
<li>Click <strong>Test Connection </strong>and Click <strong>OK</strong>.
<div id="attachment_11788" style="width: 698px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/PostgreSQL-connection-configuration.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11788" class="size-full wp-image-11788" src="https://zappysys.com/blog/wp-content/uploads/2026/02/PostgreSQL-connection-configuration.png" alt="" width="688" height="580" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/PostgreSQL-connection-configuration.png 688w, https://zappysys.com/blog/wp-content/uploads/2026/02/PostgreSQL-connection-configuration-300x253.png 300w" sizes="(max-width: 688px) 100vw, 688px" /></a><p id="caption-attachment-11788" class="wp-caption-text">PostgreSQL connection configuration</p></div></li>
<li>Drag and drop the <a href="https://zappysys.com/products/ssis-powerpack/ssis-postgresql-destination/"><strong>PostgreSQL Destination</strong></a> component.
<div id="attachment_11785" style="width: 556px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-PostgreSQL-destination.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11785" class="size-full wp-image-11785" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-PostgreSQL-destination.png" alt="" width="546" height="261" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-PostgreSQL-destination.png 546w, https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-drop-PostgreSQL-destination-300x143.png 300w" sizes="(max-width: 546px) 100vw, 546px" /></a><p id="caption-attachment-11785" class="wp-caption-text">Drag and drop the PostgreSQL destination.</p></div></li>
<li>Connect it to the <strong>ODBC Source </strong>and double-click to configure it.</li>
<li>Select the PostgreSQL connection.
<div id="attachment_11775" style="width: 723px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/PostgreSQL-Destination-Choose-the-connection.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11775" class="size-full wp-image-11775" src="https://zappysys.com/blog/wp-content/uploads/2026/02/PostgreSQL-Destination-Choose-the-connection.png" alt="" width="713" height="364" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/PostgreSQL-Destination-Choose-the-connection.png 713w, https://zappysys.com/blog/wp-content/uploads/2026/02/PostgreSQL-Destination-Choose-the-connection-300x153.png 300w" sizes="(max-width: 713px) 100vw, 713px" /></a><p id="caption-attachment-11775" class="wp-caption-text">PostgreSQL Destination &#8211; Choose the connection</p></div></li>
<li>Go to the <strong>Properties</strong> tab and choose the target table.
<div id="attachment_11776" style="width: 733px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/PostgreSQL-Destination-Choose-the-target-table.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11776" class="size-full wp-image-11776" src="https://zappysys.com/blog/wp-content/uploads/2026/02/PostgreSQL-Destination-Choose-the-target-table.png" alt="" width="723" height="664" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/PostgreSQL-Destination-Choose-the-target-table.png 723w, https://zappysys.com/blog/wp-content/uploads/2026/02/PostgreSQL-Destination-Choose-the-target-table-300x276.png 300w" sizes="(max-width: 723px) 100vw, 723px" /></a><p id="caption-attachment-11776" class="wp-caption-text">PostgreSQL Destination &#8211; Choose the target table</p></div></li>
<li>Go to the <strong>Column Mappings</strong> tab and map source columns to destination columns.
<div id="attachment_11777" style="width: 723px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/PostgreSQL-Destination-Map-the-columns.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11777" class="size-full wp-image-11777" src="https://zappysys.com/blog/wp-content/uploads/2026/02/PostgreSQL-Destination-Map-the-columns.png" alt="" width="713" height="624" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/PostgreSQL-Destination-Map-the-columns.png 713w, https://zappysys.com/blog/wp-content/uploads/2026/02/PostgreSQL-Destination-Map-the-columns-300x263.png 300w" sizes="(max-width: 713px) 100vw, 713px" /></a><p id="caption-attachment-11777" class="wp-caption-text">PostgreSQL Destination &#8211; Map the columns</p></div></li>
<li>Click <strong>OK </strong>to save the configuration.</li>
<li>Run the SSIS package. If everything is configured correctly, the data will be transferred from MariaDB to PostgreSQL.
<div id="attachment_11778" style="width: 272px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/PostgreSQL-Destination-Final-result.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11778" class="size-full wp-image-11778" src="https://zappysys.com/blog/wp-content/uploads/2026/02/PostgreSQL-Destination-Final-result.png" alt="" width="262" height="246" /></a><p id="caption-attachment-11778" class="wp-caption-text">PostgreSQL Destination &#8211; Final result</p></div></li>
</ol>
<h3>Alternative Option — Using Upsert Destination</h3>
<p>An alternative destination component is the <a href="https://zappysys.com/products/ssis-powerpack/ssis-upsert-destination/">Upsert Destination</a>; you can replace it with the PostgreSQL destination. You can preview data from the element, select the options to insert or/and update, and more.</p>
<ol>
<li>Replace the PostgreSQL Destination with the <a href="https://zappysys.com/products/ssis-powerpack/ssis-upsert-destination/"><strong>Upsert Destination</strong></a>.</li>
<li>Select your PostgreSQL connection.</li>
<li>Choose the target table.</li>
<li>Choose <strong>Insert</strong> or/and <strong>Update</strong> action.n</li>
<li>Map the columns.</li>
<li>Select the primary key column(s).</li>
<li>Configure additional options under the <strong>Advanced</strong> tab if needed.
<div id="attachment_11779" style="width: 968px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Upsert-Destination-PostgreSQL-destination-table.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11779" class="size-full wp-image-11779" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Upsert-Destination-PostgreSQL-destination-table.png" alt="" width="958" height="569" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Upsert-Destination-PostgreSQL-destination-table.png 958w, https://zappysys.com/blog/wp-content/uploads/2026/02/Upsert-Destination-PostgreSQL-destination-table-300x178.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/Upsert-Destination-PostgreSQL-destination-table-768x456.png 768w" sizes="(max-width: 958px) 100vw, 958px" /></a><p id="caption-attachment-11779" class="wp-caption-text">Upsert Destination &#8211; PostgreSQL destination table</p></div></li>
<li>Run the package to perform the upsert operation.
<div id="attachment_11780" style="width: 381px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Upsert-Destination-Final-result.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11780" class="size-full wp-image-11780" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Upsert-Destination-Final-result.png" alt="" width="371" height="283" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Upsert-Destination-Final-result.png 371w, https://zappysys.com/blog/wp-content/uploads/2026/02/Upsert-Destination-Final-result-300x229.png 300w" sizes="(max-width: 371px) 100vw, 371px" /></a><p id="caption-attachment-11780" class="wp-caption-text">Upsert Destination &#8211; Final result</p></div></li>
</ol>
<h2>Conclusion</h2>
<p>With ZappySys SSIS PowerPack and ODBC PowerPack, connecting MariaDB to PostgreSQL becomes straightforward and reliable.</p>
<p>By configuring the ODBC/JDBC bridge for MariaDB and using the native PostgreSQL destination in SSIS, you can build a robust ETL pipeline between the two databases.</p>
<p>Explore the full capabilities of the ZappySys <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">SSIS PowerPack</a> and ZappySys <a href="https://zappysys.com/products/ODBC-powerpack/" target="_blank" rel="noopener">ODBC PowerPack</a> to optimize your data integration tasks.</p>
<h1>Need Help?</h1>
<p>If you encounter any issues, our support team is here to help:</p>
<ul>
<li><strong>Live Chat</strong> — Use the chat widget (bottom-right corner of this page)</li>
<li><strong>Email</strong> — <a href="mailto:support@zappysys.com">support@zappysys.com</a></li>
<li><strong>Support Center</strong> — Support | ZappySys</li>
</ul>
<p>&nbsp;</p>
<p>The post <a href="https://zappysys.com/blog/ssis-tutorial-how-to-migrate-mariadb-data-to-postgresql/">SSIS tutorial: Migrating MariaDB data to PostgreSQL</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SSIS tutorial: How to connect to AliPay</title>
		<link>https://zappysys.com/blog/ssis-tutorial-how-to-connect-to-alipay/</link>
		
		<dc:creator><![CDATA[ZappySys Team]]></dc:creator>
		<pubDate>Sat, 21 Feb 2026 01:03:31 +0000</pubDate>
				<category><![CDATA[REST API]]></category>
		<category><![CDATA[REST API Integration]]></category>
		<category><![CDATA[SSIS PowerPack]]></category>
		<category><![CDATA[SSIS REST API Task]]></category>
		<category><![CDATA[SSIS Tasks]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=11735</guid>

					<description><![CDATA[<p>Introduction In this article, you’ll learn how to connect SSIS PowerPack (ZappySys) to AliPay OpenAPI to call REST endpoints from SSIS. We’ll focus on the practical integration pattern AliPay requires: sending requests to the OpenAPI gateway with the correct parameters and a valid RSA2 signature, then parsing JSON responses in SSIS. AliPay OpenAPI basics (what [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/ssis-tutorial-how-to-connect-to-alipay/">SSIS tutorial: How to connect to AliPay</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p>In this article, you’ll learn how to connect SSIS PowerPack (ZappySys) to AliPay OpenAPI to call REST endpoints from SSIS. We’ll focus on the practical integration pattern AliPay requires: sending requests to the OpenAPI gateway with the correct parameters and a valid RSA2 signature, then parsing JSON responses in SSIS.</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>AliPay OpenAPI basics (what SSIS must send)</h2>
<p>AliPay OpenAPI calls typically go through a single gateway endpoint:</p>
<ul>
<li><strong>Sandbox gateway:</strong><br />
<pre class="crayon-plain-tag">https://openapi-sandbox.dl.alipaydev.com/gateway.do</pre>
</li>
</ul>
<p>A request is built from:</p>
<ul>
<li>Standard parameters (for example: <code>app_id</code>, <code>method</code>, <code>charset</code>, <code>sign_type</code>, <code>timestamp</code>, <code>version</code>)</li>
<li><code>biz_content</code> (usually JSON)</li>
<li><code>sign</code> (a signature generated from the parameters using RSA/RSA2—AliPay recommends RSA2)</li>
</ul>
<p>AliPay requires you to construct a “string to sign” from parameters and attach <code>sign</code> and <code>sign_type</code> to the request, then validate/verify responses using the AliPay public key.</p>
<h2>High-level integration pattern in SSIS</h2>
<p>Because AliPay signing is mandatory, the most reliable SSIS approach is a two-step pattern:</p>
<ol>
<li><strong>Generate the signature</strong> (RSA2) for the request parameters.</li>
<li><strong>Call the AliPay gateway</strong> from ZappySys (REST API Task or REST API Source), passing the signed parameters.</li>
</ol>
<p>ZappySys components support custom HTTP methods, headers, request bodies, and advanced options—so they work well once you have the signed payload ready.</p>
<h2>Steps</h2>
<h3>Start in the AliPay Sandbox</h3>
<p>AliPay strongly recommends using the sandbox for development and debugging. In the sandbox, you must:</p>
<ul>
<li data-start="668" data-end="697">An AliPay Developer Account</li>
<li data-start="668" data-end="697">An AliPay App ID</li>
<li>Use the sandbox gateway URL</li>
<li data-start="721" data-end="779">RSA2 Private Key (generated in AliPay developer console)</li>
<li data-start="782" data-end="820">AliPay Public Key (for verification)</li>
<li data-start="823" data-end="889">Access to the AliPay Sandbox environment (recommended for testing)</li>
</ul>
<h3>Decide where you will generate the RSA2 signature</h3>
<p>You have three common options:</p>
<ul>
<li><strong>Option A (Recommended): SSIS Script Task (C#) to generate signature</strong><br />
Use a Script Task before the ZappySys call to build parameters and compute <code>sign</code>.</li>
<li><strong>Option B: Use an AliPay SDK in a small helper app</strong><br />
Run it via Execute Process Task to output signed parameters (JSON/text), then pass them to ZappySys.</li>
<li><strong>Option C: Use a signing microservice</strong><br />
SSIS calls your internal service to get <code>sign</code>, then calls AliPay.</li>
</ul>
<p><a href="https://docs.alipayplus.com/alipayplus/alipayplus/api_acq_unified/api_overview?role=ACQP&amp;product=Payment1&amp;version=1.4.6">AliPay’s documentation</a> emphasizes the signature process and verification using the AliPay public key.</p>
<h3>Example: What a signed AliPay request looks like</h3>
<p>AliPay’s gateway model is “parameters + signature.” Conceptually, your final request includes:</p>
<ul>
<li><code>app_id</code></li>
<li><code>method</code> (the API name you’re calling)</li>
<li><code>charset</code> (often <code>utf-8</code>)</li>
<li><code>sign_type</code> (recommended <code>RSA2</code>)</li>
<li><code>timestamp</code></li>
<li><code>version</code></li>
<li><code>biz_content</code> (JSON)</li>
<li><code>sign</code> (computed over the canonicalized parameter string)</li>
</ul>
<p>AliPay documents that <code>sign</code> and <code>sign_type</code> are appended after creating the string to be signed, and verification uses the AliPay public key.</p>
<h3>Configure the ZappySys REST API Task (Control Flow)</h3>
<p>Use this when operating (e.g., creating a payment, refunding, or querying).</p>
<ol>
<li>Drag <strong>ZappySys REST API Web Service Task</strong> into Control Flow.</li>
<li>Set the task:
<ul>
<li><strong>Method:</strong> POST (commonly used with AliPay gateway)</li>
<li><strong>URL:</strong><br />
<pre class="crayon-plain-tag">https://openapi-sandbox.dl.alipaydev.com/gateway.do</pre>
</li>
<li>Headers: use<br />
<pre class="crayon-plain-tag">Content-Type: application/x-www-form-urlencoded</pre>
</li>
<li><strong>Body:</strong> form-encoded parameters; use this format: <em>key1=value1&amp;key2=value2&#8230;</em>
<div>
<pre class="crayon-plain-tag">app_id=YOUR_APP_ID&amp;amp;method=alipay.trade.query&amp;amp;charset=utf-8&amp;amp;sign_type=RSA2&amp;amp;timestamp=2026-02-20 10:00:00&amp;amp;version=1.0&amp;amp;biz_content={&quot;out_trade_no&quot;:&quot;202602200001&quot;}&amp;amp;sign=GENERATED_SIGNATURE</pre>
</div>
</li>
</ul>
</li>
<li>Click <strong>Test Request/Response</strong> to confirm you get a valid JSON response.
<div id="attachment_11739" style="width: 847px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Alipay-REST-API.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11739" class="size-full wp-image-11739" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Alipay-REST-API.png" alt="" width="837" height="720" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Alipay-REST-API.png 837w, https://zappysys.com/blog/wp-content/uploads/2026/02/Alipay-REST-API-300x258.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/Alipay-REST-API-768x661.png 768w" sizes="(max-width: 837px) 100vw, 837px" /></a><p id="caption-attachment-11739" class="wp-caption-text">Alipay REST API</p></div></li>
</ol>
<h2>Troubleshooting common AliPay + SSIS issues</h2>
<ul>
<li><strong>invalid-signature / missing-signature</strong>: most often caused by parameter ordering, incorrect URL-encoding, wrong key pair, or using sandbox keys against production (or vice versa).</li>
<li><strong>Wrong gateway</strong>: sandbox and production are fully isolated—ensure your <code>app_id,</code>keys, and gateway host match the environment.</li>
<li><strong>Encoding issues</strong>: confirm UTF-8 everywhere and ensure parameters are encoded exactly once before submission.</li>
<li><strong>Parsing JSON</strong>: use ZappySys JSON Source preview and JSONPath filters to flatten nested objects.</li>
</ul>
<h2>Security best practices</h2>
<ul>
<li>Store private keys securely (SSIS variables protected, encrypted config, or secret vaults).</li>
<li>Do not hardcode secrets in packages.</li>
<li>Use a sandbox for development, then switch to production only after full validation.</li>
</ul>
<h2>Conclusion</h2>
<p>Download <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">SSIS PowerPack</a> today and see for yourself how easy it is to connect SSIS PowerPack (ZappySys) to AliPay is absolutely achievable once you treat AliPay’s OpenAPI as a <strong>signed gateway integration</strong>. The key is generating a correct <strong>RSA2 signature</strong> for every request, then using ZappySys REST components to send the parameters and parse responses.</p>
<p>&nbsp;</p>
<p><span style="font-size: 14pt;"><strong>Still need help?</strong></span></p>
<p>If the issue persists, please get in touch with our support team:</p>
<ul>
<li><strong>Live Chat:</strong> Open the chat widget <em>(bottom right of this page)</em></li>
<li><strong>Email:</strong> <a href="mailto:support@zappysys.com">support@zappysys.com</a></li>
<li><strong>Support Center</strong>: <a class="inline-onebox" href="https://zappysys.com/support/">Support | ZappySys</a></li>
</ul>
<p>&nbsp;</p>
<p>The post <a href="https://zappysys.com/blog/ssis-tutorial-how-to-connect-to-alipay/">SSIS tutorial: How to connect to AliPay</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SSIS tutorial: How to connect to Swagger</title>
		<link>https://zappysys.com/blog/ssis-tutorial-how-to-connect-to-swagger/</link>
		
		<dc:creator><![CDATA[ZappySys Team]]></dc:creator>
		<pubDate>Fri, 20 Feb 2026 00:11:27 +0000</pubDate>
				<category><![CDATA[REST API Integration]]></category>
		<category><![CDATA[SSIS Components]]></category>
		<category><![CDATA[SSIS JSON Source (File/REST)]]></category>
		<category><![CDATA[SSIS PowerPack]]></category>
		<category><![CDATA[SSIS REST API Task]]></category>
		<category><![CDATA[SSIS Tasks]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=11710</guid>

					<description><![CDATA[<p>Introduction In this article, we&#8217;ll learn how to integrate a documented API in Swagger with SQL Server Integration Services (SSIS) using ZappySys PowerPack. Swagger enables us to visualize and test REST endpoints, while ZappySys SSIS provides advanced components for consuming APIs and transforming data in ETL processes. Steps Get the Swagger endpoints Before connecting from [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/ssis-tutorial-how-to-connect-to-swagger/">SSIS tutorial: How to connect to Swagger</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p>In this article, we&#8217;ll learn how to integrate a documented API in Swagger with SQL Server Integration Services (SSIS) using ZappySys PowerPack.</p>
<p>Swagger enables us to visualize and test REST endpoints, while ZappySys SSIS provides advanced components for consuming APIs and transforming data in ETL processes.</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><a class="anchor" href="https://community.zappysys.com/t/ssis-tips-download-upload-files-from-azure-data-lake-storage-gen2-adls-v2/746#p-891-steps-2" name="p-891-steps-2" aria-label="Heading link"></a>Steps</h2>
<h3><a class="anchor" href="https://community.zappysys.com/t/ssis-tips-download-upload-files-from-azure-data-lake-storage-gen2-adls-v2/746#p-891-validating-your-azure-storage-account-is-gen2-adls-v2-3" name="p-891-validating-your-azure-storage-account-is-gen2-adls-v2-3" aria-label="Heading link"></a>Get the Swagger endpoints</h3>
<div>Before connecting from SSIS, identify the endpoints you want to use. In this example, we will use the <a href="https://petstore.swagger.io/#/">Petstore Swagger server </a>as a public API reference.</div>
<ol>
<li>Review the server’s endpoint list. In this example, we will explore the <strong>Pet</strong> category.
<div id="attachment_11712" style="width: 604px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-Pet-category.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11712" class="size-full wp-image-11712" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-Pet-category.png" alt="" width="594" height="547" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-Pet-category.png 594w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-Pet-category-300x276.png 300w" sizes="(max-width: 594px) 100vw, 594px" /></a><p id="caption-attachment-11712" class="wp-caption-text">Swagger &#8211; Pet category</p></div></li>
<li>From the list, we can see multiple endpoints and HTTP methods, including <strong>GET</strong>, <strong>POST</strong>, <strong>PUT</strong>, and <strong>DELETE.</strong></li>
<li>Click on an endpoint to expand it. For this example, we will use <strong><strong>Add a new pet to the store.<br />
</strong></strong></p>
<div id="attachment_11714" style="width: 1430px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-Create-a-new-pet.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11714" class="size-full wp-image-11714" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-Create-a-new-pet.png" alt="" width="1420" height="742" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-Create-a-new-pet.png 1420w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-Create-a-new-pet-300x157.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-Create-a-new-pet-1024x535.png 1024w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-Create-a-new-pet-768x401.png 768w" sizes="(max-width: 1420px) 100vw, 1420px" /></a><p id="caption-attachment-11714" class="wp-caption-text">Swagger &#8211; Create a new pet</p></div></li>
<li>Click <strong>Try it out</strong>. Swagger will allow you to edit the request body and choose the content type (JSON or XML).</li>
<li>Click <strong>Execute</strong>. Swagger will display
<ul>
<li>The generated request in <strong>cURL</strong> format</li>
<li>The Request URL</li>
<li>The Response body</li>
<li>The HTTP status code</li>
</ul>
</li>
<li>In the Response JSON, we can see the new pet with status code 200, indicating success.</li>
<li>Now, with the <strong>CURL</strong> syntax, we can use that inside our tool.
<div id="attachment_11715" style="width: 1421px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-Create-a-new-pet-CURL.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11715" class="size-full wp-image-11715" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-Create-a-new-pet-CURL.png" alt="" width="1411" height="919" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-Create-a-new-pet-CURL.png 1411w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-Create-a-new-pet-CURL-300x195.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-Create-a-new-pet-CURL-1024x667.png 1024w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-Create-a-new-pet-CURL-768x500.png 768w" sizes="(max-width: 1411px) 100vw, 1411px" /></a><p id="caption-attachment-11715" class="wp-caption-text">Swagger &#8211; Create a new pet CURL</p></div></li>
</ol>
<h3><a class="anchor" href="https://community.zappysys.com/t/ssis-tips-download-upload-files-from-azure-data-lake-storage-gen2-adls-v2/746#p-891-connect-azure-adls-gen2-in-ssis-4" name="p-891-connect-azure-adls-gen2-in-ssis-4" aria-label="Heading link"></a></h3>
<h3>POST request: Create Pet Request</h3>
<ol>
<li>Open Visual Studio and create a new <strong>Integration Services Project</strong>.</li>
<li>After the project is created, locate the <strong>SSIS Toolbox</strong> on the left panel.</li>
<li>Drag and drop the <strong>REST API Task</strong> onto the Control Flow surface and double-click it to configure
<div id="attachment_11713" style="width: 576px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-Drop-REST-API-Task.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11713" class="size-full wp-image-11713" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-Drop-REST-API-Task.png" alt="" width="566" height="279" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-Drop-REST-API-Task.png 566w, https://zappysys.com/blog/wp-content/uploads/2026/02/Drag-and-Drop-REST-API-Task-300x148.png 300w" sizes="(max-width: 566px) 100vw, 566px" /></a><p id="caption-attachment-11713" class="wp-caption-text">Drag and Drop REST API Task</p></div></li>
<li>Use the cURL generated from Swagger. For reference, you can review our article about converting <a href="https://zappysys.com/blog/using-ssis-curl-syntax-to-ssis-api-task/">cURL to an SSIS API Task</a>.<br />
<pre class="crayon-plain-tag">curl -X 'POST' \
  'https://petstore.swagger.io/v2/pet' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  &quot;id&quot;: 123,
  &quot;category&quot;: {
    &quot;id&quot;: 456,
    &quot;name&quot;: &quot;Friendly&quot;
  },
  &quot;name&quot;: &quot;Zappy&quot;,
  &quot;photoUrls&quot;: [
    &quot;string&quot;
  ],
  &quot;tags&quot;: [
    {
      &quot;id&quot;: 0,
      &quot;name&quot;: &quot;tech&quot;
    }
  ],
  &quot;status&quot;: &quot;available&quot;
}'</pre>
</li>
<li><strong>-X POST</strong> represents the HTTP method. Set the Request Method to <strong>POST</strong>.</li>
<li>Enter the URL from the cURL command.</li>
<li>Each <strong>-H</strong> represents a Header. Add the corresponding headers inside the REST API Task.</li>
<li>The <strong>-d</strong> parameter represents the Body. Paste the JSON payload into the Body section.</li>
<li>Click <strong>Test Request/Response</strong> to validate the configuration.
<div id="attachment_11716" style="width: 1312px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-Create-a-new-pet.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11716" class="size-full wp-image-11716" src="https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-Create-a-new-pet.png" alt="" width="1302" height="667" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-Create-a-new-pet.png 1302w, https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-Create-a-new-pet-300x154.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-Create-a-new-pet-1024x525.png 1024w, https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-Create-a-new-pet-768x393.png 768w" sizes="(max-width: 1302px) 100vw, 1302px" /></a><p id="caption-attachment-11716" class="wp-caption-text">SSIS &#8211; Create a new pet</p></div></li>
<li>You can use additional components such as <strong>JSON Source</strong> or <strong>XML Source,</strong> depending on how you plan to process the response.</li>
</ol>
<h3>POST request: Upload a file</h3>
<ol>
<li>Next, we will upload an image for the pet we created earlier
<div id="attachment_11717" style="width: 1422px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-upload-image.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11717" class="size-full wp-image-11717" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-upload-image.png" alt="" width="1412" height="680" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-upload-image.png 1412w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-upload-image-300x144.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-upload-image-1024x493.png 1024w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-upload-image-768x370.png 768w" sizes="(max-width: 1412px) 100vw, 1412px" /></a><p id="caption-attachment-11717" class="wp-caption-text">Swagger &#8211; upload image</p></div></li>
<li>Generate the CURL code.<br />
<pre class="crayon-plain-tag">curl -X 'POST' \
  'https://petstore.swagger.io/v2/pet/123/uploadImage' \
  -H 'accept: application/json' \
  -H 'Content-Type: multipart/form-data' \
  -F 'file=@new.jpg;type=image/jpeg'</pre>
</li>
<li>Configure the REST API Task with:
<ul>
<li>Request Method: POST</li>
<li>URL</li>
<li>Headers</li>
<li>File parameter</li>
</ul>
</li>
<li>Check the option <strong>File upload.</strong></li>
<li>Specify the full file path (e.g., <em>file=@D:\Zappysys\new.jpg</em>).</li>
<li>Click Test Request to validate the upload.</li>
<li>You can find an article about <a href="https://zappysys.com/blog/rest-api-file-upload-using-ssis-multi-part-post/" target="_blank" rel="noopener">uploading files here</a>.
<div class="mceTemp"></div>
<div id="attachment_11730" style="width: 1322px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-upload-an-image.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11730" class="size-full wp-image-11730" src="https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-upload-an-image.png" alt="" width="1312" height="719" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-upload-an-image.png 1312w, https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-upload-an-image-300x164.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-upload-an-image-1024x561.png 1024w, https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-upload-an-image-768x421.png 768w" sizes="(max-width: 1312px) 100vw, 1312px" /></a><p id="caption-attachment-11730" class="wp-caption-text">SSIS &#8211; upload an image</p></div></li>
</ol>
<h3>GET request: Get the Pet information</h3>
<ol>
<li> Now we will get the pet we created earlier. This is the example
<div id="attachment_11724" style="width: 1432px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-get-pet-by-id.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11724" class="size-full wp-image-11724" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-get-pet-by-id.png" alt="" width="1422" height="592" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-get-pet-by-id.png 1422w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-get-pet-by-id-300x125.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-get-pet-by-id-1024x426.png 1024w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-get-pet-by-id-768x320.png 768w" sizes="(max-width: 1422px) 100vw, 1422px" /></a><p id="caption-attachment-11724" class="wp-caption-text">Swagger &#8211; get pet by id</p></div></li>
<li>We generate the CURL<br />
<pre class="crayon-plain-tag">curl -X 'GET' \
  'https://petstore.swagger.io/v2/pet/123' \
  -H 'accept: application/json'</pre>
</li>
<li>Inside the Visual Studio project, drag and drop the <strong>SSIS Data Flow Task</strong> from the SSIS Toolbox. Double-click on the <em>Data Flow Task</em> to see the <em>Data Flow</em> designer.
<div id="attachment_11622" style="width: 472px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/08/Drag-and-Drop-SSIS-Data-Flow-Task-from-SSIS-Toolbox.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11622" class="size-full wp-image-11622" src="https://zappysys.com/blog/wp-content/uploads/2019/08/Drag-and-Drop-SSIS-Data-Flow-Task-from-SSIS-Toolbox.png" alt="" width="462" height="157" srcset="https://zappysys.com/blog/wp-content/uploads/2019/08/Drag-and-Drop-SSIS-Data-Flow-Task-from-SSIS-Toolbox.png 462w, https://zappysys.com/blog/wp-content/uploads/2019/08/Drag-and-Drop-SSIS-Data-Flow-Task-from-SSIS-Toolbox-300x102.png 300w" sizes="(max-width: 462px) 100vw, 462px" /></a><p id="caption-attachment-11622" class="wp-caption-text">Drag and Drop SSIS Data Flow Task from SSIS Toolbox</p></div></li>
<li>From the SSIS toolbox, drag and drop a <a title="SSIS API Source" href="https://zappysys.com/products/ssis-powerpack/ssis-json-file-source">JSON Source</a> onto the data flow designer surface, and double-click on it to edit it
<div id="attachment_11533" style="width: 553px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2015/09/ssis-json-source-adapter-drag.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11533" class="size-full wp-image-11533" src="https://zappysys.com/blog/wp-content/uploads/2015/09/ssis-json-source-adapter-drag.png" alt="" width="543" height="146" srcset="https://zappysys.com/blog/wp-content/uploads/2015/09/ssis-json-source-adapter-drag.png 543w, https://zappysys.com/blog/wp-content/uploads/2015/09/ssis-json-source-adapter-drag-300x81.png 300w" sizes="(max-width: 543px) 100vw, 543px" /></a><p id="caption-attachment-11533" class="wp-caption-text">SSIS JSON Source &#8211; Drag and Drop</p></div></li>
<li>We use the method <strong>GET</strong></li>
<li>We enter the URL with the <strong>ID</strong> from the earlier response.</li>
<li>We can use the filter to get the object we need, and now we can check the data.</li>
<li>Preview the data, and you will see the Pet&#8217;s information
<div id="attachment_11725" style="width: 833px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-get-a-pet.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11725" class="size-full wp-image-11725" src="https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-get-a-pet.png" alt="" width="823" height="889" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-get-a-pet.png 823w, https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-get-a-pet-278x300.png 278w, https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-get-a-pet-768x830.png 768w" sizes="(max-width: 823px) 100vw, 823px" /></a><p id="caption-attachment-11725" class="wp-caption-text">SSIS &#8211; get a pet by ID</p></div></li>
</ol>
<h3>PUT request: Update an existing pet</h3>
<ol>
<li>We go to the updated pet example and run the example
<div id="attachment_11721" style="width: 1432px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-update-a-pet.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11721" class="size-full wp-image-11721" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-update-a-pet.png" alt="" width="1422" height="662" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-update-a-pet.png 1422w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-update-a-pet-300x140.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-update-a-pet-1024x477.png 1024w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-update-a-pet-768x358.png 768w" sizes="(max-width: 1422px) 100vw, 1422px" /></a><p id="caption-attachment-11721" class="wp-caption-text">Swagger &#8211; update a pet</p></div></li>
<li>Generate the CURL<br />
<pre class="crayon-plain-tag">curl -X 'PUT' \
  'https://petstore.swagger.io/v2/pet' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  &quot;id&quot;: 0,
  &quot;category&quot;: {
    &quot;id&quot;: 0,
    &quot;name&quot;: &quot;string&quot;
  },
  &quot;name&quot;: &quot;doggie2&quot;,
  &quot;photoUrls&quot;: [
    &quot;string&quot;
  ],
  &quot;tags&quot;: [
    {
      &quot;id&quot;: 0,
      &quot;name&quot;: &quot;string&quot;
    }
  ],
  &quot;status&quot;: &quot;available&quot;
}'</pre>
</li>
<li>Inside the JSON source, we configure the HTTP method to <strong>PUT.</strong></li>
<li>Change the url and the header.</li>
<li>Inside the Body we can change the values from the existing pet.</li>
<li>Test the connection and check the result.
<div id="attachment_11719" style="width: 838px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-update-a-pet.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11719" class="size-full wp-image-11719" src="https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-update-a-pet.png" alt="" width="828" height="745" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-update-a-pet.png 828w, https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-update-a-pet-300x270.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-update-a-pet-768x691.png 768w" sizes="(max-width: 828px) 100vw, 828px" /></a><p id="caption-attachment-11719" class="wp-caption-text">SSIS &#8211; update a pet</p></div></li>
</ol>
<h3>DELETE request: Remove an existing pet</h3>
<ol>
<li>Now we will delete the pet using this example.
<div id="attachment_11722" style="width: 1424px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-delete-a-pet.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11722" class="size-full wp-image-11722" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-delete-a-pet.png" alt="" width="1414" height="588" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-delete-a-pet.png 1414w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-delete-a-pet-300x125.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-delete-a-pet-1024x426.png 1024w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-delete-a-pet-768x319.png 768w" sizes="(max-width: 1414px) 100vw, 1414px" /></a><p id="caption-attachment-11722" class="wp-caption-text">Swagger &#8211; delete a pet</p></div></li>
<li>Generate the CURL to delete the pet<br />
<pre class="crayon-plain-tag">curl -X 'DELETE' \
  'https://petstore.swagger.io/v2/pet/1234' \
  -H 'accept: application/json' \
  -H 'api_key: special-key'</pre>
</li>
<li>Inside the JSON source, configure the HTTP method to <strong>DELETE.</strong></li>
<li>Change the URL to include the pet&#8217;s ID.</li>
<li>Inside the header, we need to insert an API key.</li>
<li>Test the connection, and we will delete the pet.
<div id="attachment_11718" style="width: 838px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-delete-a-pet.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11718" class="size-full wp-image-11718" src="https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-delete-a-pet.png" alt="" width="828" height="745" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-delete-a-pet.png 828w, https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-delete-a-pet-300x270.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/SSIS-delete-a-pet-768x691.png 768w" sizes="(max-width: 828px) 100vw, 828px" /></a><p id="caption-attachment-11718" class="wp-caption-text">aSSIS &#8211; delete a pet</p></div></li>
</ol>
<h3>Authentication method</h3>
<ol>
<li>Some APIs require authentication. You can configure authentication using an HTTP Connection Manager.</li>
<li>Enter the login URL if required.</li>
<li>Select the credential type (e.g., Basic – Username/Password).</li>
<li>Enter the credentials.</li>
<li>Click OK to save the configuration.</li>
<li>This connection can be reused across multiple REST API Tasks or JSON Sources.</li>
<li>For more details on <a href="https://zappysys.com/blog/how-to-set-base64-encoded-authorization-header-for-http-web-request/" target="_blank" rel="noopener">basic authentication, click here.</a> For <a href="https://zappysys.com/blog/rest-api-authentication-with-oauth-2-0-using-ssis/" target="_blank" rel="noopener">more details on the OAuth connection, click here</a>.
<div id="attachment_11726" style="width: 1430px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-SSIS-basic-authentication.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11726" class="wp-image-11726 size-full" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-SSIS-basic-authentication.png" alt="" width="1420" height="893" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-SSIS-basic-authentication.png 1420w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-SSIS-basic-authentication-300x189.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-SSIS-basic-authentication-1024x644.png 1024w, https://zappysys.com/blog/wp-content/uploads/2026/02/Swagger-SSIS-basic-authentication-768x483.png 768w" sizes="(max-width: 1420px) 100vw, 1420px" /></a><p id="caption-attachment-11726" class="wp-caption-text">Swagger &#8211; SSIS basic authentication</p></div></li>
</ol>
<div class="mceTemp"></div>
<h2><a class="anchor" href="https://community.zappysys.com/t/ssis-tips-download-upload-files-from-azure-data-lake-storage-gen2-adls-v2/746#p-891-summary-9" name="p-891-summary-9" aria-label="Heading link"></a>Conclusion</h2>
<p>Integrating Swagger-documented APIs with ZappySys SSIS becomes significantly easier when using the generated <strong>cURL</strong> command as a reference. Swagger provides a clear and interactive way to understand API endpoints, request structures, headers, and payload formats, while cURL offers a direct, executable representation of the HTTP request.</p>
<p>By translating the cURL command into the REST API Task or JSON Source configuration, developers can confidently replicate API calls inside SSIS without guesswork. This approach ensures accuracy, reduces troubleshooting time, and provides a consistent workflow for handling GET, POST, PUT, DELETE operations, file uploads, and authentication scenarios.</p>
<p><span style="box-sizing: border-box; margin: 0px; padding: 0px;">Download <a href="https://zappysys.com/products/odbc-powerpack/" target="_blank" rel="noopener">SSIS PowerPack</a> today and see for yourself how easy it is to combine Swagger and ZappySys SSIS, enabling organizations to seamlessly integrate modern REST APIs into enterprise ETL processes and bridge the gap between cloud-based services and traditional SQL Server data platforms.</span></p>
<p><a class="anchor" href="https://community.zappysys.com/t/ssis-tips-download-upload-files-from-azure-data-lake-storage-gen2-adls-v2/746#p-891-still-need-help-10" name="p-891-still-need-help-10" aria-label="Heading link"></a><span style="font-size: 14pt;"><strong>Still need help?</strong></span></p>
<p>If the issue persists, please get in touch with our support team:</p>
<ul>
<li><strong>Live Chat:</strong> Open the chat widget <em>(bottom right of this page)</em></li>
<li><strong>Email:</strong> <a href="mailto:support@zappysys.com">support@zappysys.com</a></li>
<li><strong>Support Center</strong>: <a class="inline-onebox" href="https://zappysys.com/support/">Support | ZappySys</a></li>
</ul>
<p>The post <a href="https://zappysys.com/blog/ssis-tutorial-how-to-connect-to-swagger/">SSIS tutorial: How to connect to Swagger</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SSIS: How to download &#038; upload files from Azure Data Lake Storage Gen2 (ADLS v2)</title>
		<link>https://zappysys.com/blog/ssis-how-to-download-upload-files-from-azure-data-lake-storage-gen2-adls-v2/</link>
		
		<dc:creator><![CDATA[ZappySys Team]]></dc:creator>
		<pubDate>Fri, 06 Feb 2026 23:29:42 +0000</pubDate>
				<category><![CDATA[SSIS Azure Table Storage Source]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=11686</guid>

					<description><![CDATA[<p>Introduction If you’re using ZappySys SSIS Power Pack to manage files in Azure Data Lake Storage Gen2 (ADLS v2)—including hierarchical folders required by many modern data lake workloads (for example, Parquet-based pipelines)—this guide walks you through the complete setup process step by step. Steps Validating your Azure Storage Account Is Gen2 (ADLS v2) Before connecting from SSIS, confirm [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/ssis-how-to-download-upload-files-from-azure-data-lake-storage-gen2-adls-v2/">SSIS: How to download &#038; upload files from Azure Data Lake Storage Gen2 (ADLS v2)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p>If you’re using <strong>ZappySys SSIS Power Pack</strong> to manage files in <strong>Azure Data Lake Storage Gen2 (ADLS v2)</strong>—including hierarchical folders required by many modern data lake workloads (for example, Parquet-based pipelines)—this guide walks you through the complete setup process step by step.</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><a class="anchor" href="https://community.zappysys.com/t/ssis-tips-download-upload-files-from-azure-data-lake-storage-gen2-adls-v2/746#p-891-steps-2" name="p-891-steps-2" aria-label="Heading link"></a>Steps</h2>
<h3><a class="anchor" href="https://community.zappysys.com/t/ssis-tips-download-upload-files-from-azure-data-lake-storage-gen2-adls-v2/746#p-891-validating-your-azure-storage-account-is-gen2-adls-v2-3" name="p-891-validating-your-azure-storage-account-is-gen2-adls-v2-3" aria-label="Heading link"></a>Validating your Azure Storage Account Is Gen2 (ADLS v2)</h3>
<p>Before connecting from SSIS, confirm that your Azure Storage Account is <strong>ADLS Gen2–enabled</strong>, which means it supports a <strong>hierarchical namespace</strong>.</p>
<ol>
<li>Check the Storage Account Type. Go to <strong>Azure Portal → Storage Accounts</strong> and verify that your account is <strong>ADLS v2 (Gen2)</strong>.
<div id="attachment_11699" style="width: 825px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Validate-Your-account-Type.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11699" class="size-full wp-image-11699" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Validate-Your-account-Type.png" alt="" width="815" height="558" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Validate-Your-account-Type.png 815w, https://zappysys.com/blog/wp-content/uploads/2026/02/Validate-Your-account-Type-300x205.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/Validate-Your-account-Type-768x526.png 768w" sizes="(max-width: 815px) 100vw, 815px" /></a><p id="caption-attachment-11699" class="wp-caption-text">Validate Your Account Type</p></div></li>
<li>Open the storage account</li>
<li>Locate <strong>Hierarchical namespace</strong></li>
<li>Ensure it is set to <strong>Enabled</strong></li>
<li>If hierarchical namespace is not enabled, click <strong>Enable</strong></li>
<li>During the wizard, Azure may require <strong>Soft Delete</strong> to be turned off</li>
<li>Disable both soft delete options if prompted
<div id="attachment_11696" style="width: 1274px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/How-to-enable-hierarchical-namespace-option-in-Azure-Blob-Storage-ADSL-Gen2.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11696" class="size-full wp-image-11696" src="https://zappysys.com/blog/wp-content/uploads/2026/02/How-to-enable-hierarchical-namespace-option-in-Azure-Blob-Storage-ADSL-Gen2.png" alt="" width="1264" height="694" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/How-to-enable-hierarchical-namespace-option-in-Azure-Blob-Storage-ADSL-Gen2.png 1264w, https://zappysys.com/blog/wp-content/uploads/2026/02/How-to-enable-hierarchical-namespace-option-in-Azure-Blob-Storage-ADSL-Gen2-300x165.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/How-to-enable-hierarchical-namespace-option-in-Azure-Blob-Storage-ADSL-Gen2-1024x562.png 1024w, https://zappysys.com/blog/wp-content/uploads/2026/02/How-to-enable-hierarchical-namespace-option-in-Azure-Blob-Storage-ADSL-Gen2-768x422.png 768w" sizes="(max-width: 1264px) 100vw, 1264px" /></a><p id="caption-attachment-11696" class="wp-caption-text">How to enable hierarchical namespace option in Azure Blob Storage &#8211; ADSL Gen2</p></div></li>
</ol>
<blockquote><p><strong>Important</strong><br />
Enabling hierarchical namespace is a one-way operation. Once enabled, the storage account cannot be reverted to a flat namespace.</p></blockquote>
<h3><a class="anchor" href="https://community.zappysys.com/t/ssis-tips-download-upload-files-from-azure-data-lake-storage-gen2-adls-v2/746#p-891-connect-azure-adls-gen2-in-ssis-4" name="p-891-connect-azure-adls-gen2-in-ssis-4" aria-label="Heading link"></a>Connect Azure ADLS Gen2 in SSIS</h3>
<p>ZappySys supports multiple authentication methods. The two most common options are <strong>Access Key</strong> and <strong>SAS Token</strong>.</p>
<p><strong>Option A</strong>: Connect Using Storage Account Access Key. This is the simplest method and works well for internal or controlled environments.</p>
<ol>
<li>Obtain the Access Key.</li>
<li>Go to your <strong>Storage Account</strong>.</li>
<li>Navigate to <strong>Access keys</strong>.</li>
<li>Copy <strong>Key1</strong> or <strong>Key2</strong>.
<div id="attachment_11690" style="width: 922px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Azure-Storage-Account-Obtain-Access-Key-for-Connection-API-calls.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11690" class="size-full wp-image-11690" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Azure-Storage-Account-Obtain-Access-Key-for-Connection-API-calls.png" alt="" width="912" height="725" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Azure-Storage-Account-Obtain-Access-Key-for-Connection-API-calls.png 912w, https://zappysys.com/blog/wp-content/uploads/2026/02/Azure-Storage-Account-Obtain-Access-Key-for-Connection-API-calls-300x238.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/Azure-Storage-Account-Obtain-Access-Key-for-Connection-API-calls-768x611.png 768w" sizes="(max-width: 912px) 100vw, 912px" /></a><p id="caption-attachment-11690" class="wp-caption-text">Azure Storage Account &#8211; Obtain Access Key for Connection API calls</p></div></li>
<li>Create or open an SSIS project in Visual Studio and add the <strong>ZappySys Azure Storage Task</strong>.</li>
<li>Create a new connection and choose <strong>Access Key</strong> authentication.</li>
<li>Enter the <strong>Storage Account Name</strong> and <strong>Access Key</strong> and test the connection.
<div id="attachment_11692" style="width: 846px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Connect-Azure-Storage-Account-in-SSIS-Using-Access-Key-Method.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11692" class="size-full wp-image-11692" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Connect-Azure-Storage-Account-in-SSIS-Using-Access-Key-Method.png" alt="" width="836" height="886" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Connect-Azure-Storage-Account-in-SSIS-Using-Access-Key-Method.png 836w, https://zappysys.com/blog/wp-content/uploads/2026/02/Connect-Azure-Storage-Account-in-SSIS-Using-Access-Key-Method-283x300.png 283w, https://zappysys.com/blog/wp-content/uploads/2026/02/Connect-Azure-Storage-Account-in-SSIS-Using-Access-Key-Method-768x814.png 768w" sizes="(max-width: 836px) 100vw, 836px" /></a><p id="caption-attachment-11692" class="wp-caption-text">Connect Azure Storage Account in SSIS &#8211; Using Access Key Method</p></div></li>
</ol>
<p><strong>Option B</strong>: Connect Using SAS Token (Recommended for Least-Privilege Access). SAS tokens are ideal when you want <strong>restricted, time-bound, or container-level access</strong>.</p>
<ol>
<li>Navigate to the Target Container</li>
<li>Open <strong>Storage Account → Containers</strong>.</li>
<li>Select the container you want to grant access to.
<div id="attachment_11694" style="width: 514px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Containers-in-Azure-Portal.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11694" class="size-full wp-image-11694" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Containers-in-Azure-Portal.png" alt="" width="504" height="521" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Containers-in-Azure-Portal.png 504w, https://zappysys.com/blog/wp-content/uploads/2026/02/Containers-in-Azure-Portal-290x300.png 290w" sizes="(max-width: 504px) 100vw, 504px" /></a><p id="caption-attachment-11694" class="wp-caption-text">Containers in Azure Portal</p></div></li>
<li>Click <strong>Generate SAS</strong> to generate a Container-Level SAS Token.</li>
<li>Select required permissions (Read / Write / List / Delete).</li>
<li>Set expiration date.</li>
<li>Generate and copy the SAS URL.
<div id="attachment_11689" style="width: 821px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Azure-Storage-Account-Generate-SAS-Token-Container-Level.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11689" class="size-full wp-image-11689" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Azure-Storage-Account-Generate-SAS-Token-Container-Level.png" alt="" width="811" height="836" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Azure-Storage-Account-Generate-SAS-Token-Container-Level.png 811w, https://zappysys.com/blog/wp-content/uploads/2026/02/Azure-Storage-Account-Generate-SAS-Token-Container-Level-291x300.png 291w, https://zappysys.com/blog/wp-content/uploads/2026/02/Azure-Storage-Account-Generate-SAS-Token-Container-Level-768x792.png 768w" sizes="(max-width: 811px) 100vw, 811px" /></a><p id="caption-attachment-11689" class="wp-caption-text">Azure Storage Account &#8211; Generate SAS Token (Container Level)</p></div></li>
</ol>
<blockquote><p><strong>Recommended:</strong> Use <strong>SAS URL</strong> for quicker and more reliable configuration. While SAS Token authentication is still supported, <strong>Copy SAS URL is easier and more user-friendly</strong> because it already includes the container path. When you paste the SAS URL into the Connection UI, the <strong>container name is automatically detected</strong>, eliminating the need to enter it as a separate step manually.</p></blockquote>
<ol start="8">
<li>Go to our <strong>Microsoft Azure Blob connection</strong> and use the <strong>SAS Token</strong> in SSIS</li>
<li>Choose <strong>SAS Token</strong> authentication in the Azure Storage Task and provide the <strong>SAS Token</strong> or <strong>URL</strong>.</li>
<li>Test the connection and click <strong>OK</strong> to save the configuration.
<div id="attachment_11693" style="width: 752px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Connect-Azure-Storage-Account-in-SSIS-Using-SAS-Token-Method.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11693" class="size-full wp-image-11693" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Connect-Azure-Storage-Account-in-SSIS-Using-SAS-Token-Method.png" alt="" width="742" height="880" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Connect-Azure-Storage-Account-in-SSIS-Using-SAS-Token-Method.png 742w, https://zappysys.com/blog/wp-content/uploads/2026/02/Connect-Azure-Storage-Account-in-SSIS-Using-SAS-Token-Method-253x300.png 253w" sizes="(max-width: 742px) 100vw, 742px" /></a><p id="caption-attachment-11693" class="wp-caption-text">Connect Azure Storage Account in SSIS &#8211; Using SAS Token Method</p></div></li>
</ol>
<h3><a class="anchor" href="https://community.zappysys.com/t/ssis-tips-download-upload-files-from-azure-data-lake-storage-gen2-adls-v2/746#p-891-download-files-from-azure-adls-gen2-in-ssis-5" name="p-891-download-files-from-azure-adls-gen2-in-ssis-5" aria-label="Heading link"></a>Download Files from Azure ADLS Gen2 in SSIS</h3>
<ol>
<li>Inside the <strong>ZappySys Azure Storage Task</strong>, select the connection created in the previous step.</li>
<li>Use the option <strong>DownloadAzure File(s) to local directory</strong>.</li>
<li>Select the Parquet or CSV files you want to download. You can pull files from date-partitioned folders and use dynamically built paths with SSIS variables.
<div id="attachment_11695" style="width: 761px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Download-Azure-Storage-Files-in-SSIS-ADSL-v2-or-Legacy-Blob-Storage.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11695" class="size-full wp-image-11695" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Download-Azure-Storage-Files-in-SSIS-ADSL-v2-or-Legacy-Blob-Storage.png" alt="" width="751" height="721" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Download-Azure-Storage-Files-in-SSIS-ADSL-v2-or-Legacy-Blob-Storage.png 751w, https://zappysys.com/blog/wp-content/uploads/2026/02/Download-Azure-Storage-Files-in-SSIS-ADSL-v2-or-Legacy-Blob-Storage-300x288.png 300w" sizes="(max-width: 751px) 100vw, 751px" /></a><p id="caption-attachment-11695" class="wp-caption-text">Download Azure Storage Files in SSIS (ADSL v2 or Legacy Blob Storage)</p></div></li>
</ol>
<h3><a class="anchor" href="https://community.zappysys.com/t/ssis-tips-download-upload-files-from-azure-data-lake-storage-gen2-adls-v2/746#p-891-upload-files-to-azure-adls-gen2-in-ssis-6" name="p-891-upload-files-to-azure-adls-gen2-in-ssis-6" aria-label="Heading link"></a>Upload Files to Azure ADLS Gen2 in SSIS</h3>
<ol>
<li>Change the <strong>Storage Action</strong> to <strong>Upload local file(s) to Azure</strong>.</li>
<li>Upload single files or entire folders.</li>
<li>Choose between <strong>Overwrite</strong> or <strong>skip</strong> existing files.</li>
<li>Use the <strong>ZappySys placeholder engine</strong> to dynamically build source and destination paths.
<div id="attachment_11698" style="width: 859px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Upload-Local-Files-to-Azure-Blob-Storage-in-SSIS-ADSL-v2-or-Legacy-Blob-Storage.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11698" class="size-full wp-image-11698" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Upload-Local-Files-to-Azure-Blob-Storage-in-SSIS-ADSL-v2-or-Legacy-Blob-Storage.png" alt="" width="849" height="641" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Upload-Local-Files-to-Azure-Blob-Storage-in-SSIS-ADSL-v2-or-Legacy-Blob-Storage.png 849w, https://zappysys.com/blog/wp-content/uploads/2026/02/Upload-Local-Files-to-Azure-Blob-Storage-in-SSIS-ADSL-v2-or-Legacy-Blob-Storage-300x227.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/Upload-Local-Files-to-Azure-Blob-Storage-in-SSIS-ADSL-v2-or-Legacy-Blob-Storage-768x580.png 768w" sizes="(max-width: 849px) 100vw, 849px" /></a><p id="caption-attachment-11698" class="wp-caption-text">Upload Local Files to Azure Blob Storage in SSIS (ADSL v2 or Legacy Blob Storage)</p></div></li>
</ol>
<h3><a class="anchor" href="https://community.zappysys.com/t/ssis-tips-download-upload-files-from-azure-data-lake-storage-gen2-adls-v2/746#p-891-other-azure-storage-file-operations-7" name="p-891-other-azure-storage-file-operations-7" aria-label="Heading link"></a>Other Azure Storage File Operations</h3>
<p>The Azure Storage Task supports many additional operations:</p>
<ul>
<li>Sync folders</li>
<li>Create containers or directories</li>
<li>Delete files or folders</li>
<li>List files recursively
<div id="attachment_11691" style="width: 596px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/Azure-Storage-File-Operations-in-SSIS-Sync-Create-Delete-List.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11691" class="size-full wp-image-11691" src="https://zappysys.com/blog/wp-content/uploads/2026/02/Azure-Storage-File-Operations-in-SSIS-Sync-Create-Delete-List.png" alt="" width="586" height="623" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/Azure-Storage-File-Operations-in-SSIS-Sync-Create-Delete-List.png 586w, https://zappysys.com/blog/wp-content/uploads/2026/02/Azure-Storage-File-Operations-in-SSIS-Sync-Create-Delete-List-282x300.png 282w" sizes="(max-width: 586px) 100vw, 586px" /></a><p id="caption-attachment-11691" class="wp-caption-text">Azure Storage File Operations in SSIS (Sync, Create, Delete, List)</p></div></li>
</ul>
<h3><a class="anchor" href="https://community.zappysys.com/t/ssis-tips-download-upload-files-from-azure-data-lake-storage-gen2-adls-v2/746#p-891-advanced-filtering-and-sorting-8" name="p-891-advanced-filtering-and-sorting-8" aria-label="Heading link"></a>Advanced Filtering and Sorting</h3>
<p>Most operations support advanced filtering and sorting options. These options are available under the <strong>Advanced Filter and Sorting</strong> tab:</p>
<ul>
<li>Filter by file name</li>
<li>Filter by size</li>
<li>Filter by modified date</li>
<li>Sort ascending or descending</li>
<li>Limit the number of files processed
<div id="attachment_11697" style="width: 985px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2026/02/More-filter-options.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11697" class="size-full wp-image-11697" src="https://zappysys.com/blog/wp-content/uploads/2026/02/More-filter-options.png" alt="" width="975" height="764" srcset="https://zappysys.com/blog/wp-content/uploads/2026/02/More-filter-options.png 975w, https://zappysys.com/blog/wp-content/uploads/2026/02/More-filter-options-300x235.png 300w, https://zappysys.com/blog/wp-content/uploads/2026/02/More-filter-options-768x602.png 768w" sizes="(max-width: 975px) 100vw, 975px" /></a><p id="caption-attachment-11697" class="wp-caption-text">More filter options</p></div></li>
</ul>
<blockquote><p>Similar filtering capabilities are also available in:</p>
<ul>
<li>Amazon S3 Storage Task</li>
<li>Secure FTP Task</li>
<li>Other ZappySys file-based connectors</li>
</ul>
</blockquote>
<h2><a class="anchor" href="https://community.zappysys.com/t/ssis-tips-download-upload-files-from-azure-data-lake-storage-gen2-adls-v2/746#p-891-summary-9" name="p-891-summary-9" aria-label="Heading link"></a>Summary</h2>
<p>With ZappySys SSIS Power Pack, you can fully manage <strong>Azure Data Lake Storage Gen2</strong> directly inside SSIS—including hierarchical folders, secure authentication, and advanced file operations—without writing custom code.</p>
<p>This makes it easy to:</p>
<ul>
<li>Build modern data lake pipelines</li>
<li>Work with Parquet and partitioned data</li>
<li>Secure access using SAS tokens</li>
<li>Automate file movement at scale</li>
</ul>
<h2><a class="anchor" href="https://community.zappysys.com/t/ssis-tips-download-upload-files-from-azure-data-lake-storage-gen2-adls-v2/746#p-891-still-need-help-10" name="p-891-still-need-help-10" aria-label="Heading link"></a>Still need help?</h2>
<p>If the issue persists, please get in touch with our support team:</p>
<ul>
<li><strong>Live Chat:</strong> Open the chat widget <em>(bottom right of this page)</em></li>
<li><strong>Email:</strong> <a href="mailto:support@zappysys.com">support@zappysys.com</a></li>
<li><strong>Support Center</strong>: <a class="inline-onebox" href="https://zappysys.com/support/">Support | ZappySys</a></li>
</ul>
<p>The post <a href="https://zappysys.com/blog/ssis-how-to-download-upload-files-from-azure-data-lake-storage-gen2-adls-v2/">SSIS: How to download &#038; upload files from Azure Data Lake Storage Gen2 (ADLS v2)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to download Outlook (Office 365) Emails as .EML or .MSG Files</title>
		<link>https://zappysys.com/blog/how-to-download-outlook-office-365-emails-as-eml-or-msg-files/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Thu, 19 Jun 2025 13:19:00 +0000</pubDate>
				<category><![CDATA[SSIS API Source]]></category>
		<category><![CDATA[SSIS OAuth Connection]]></category>
		<category><![CDATA[SSIS PowerPack]]></category>
		<category><![CDATA[SSIS WEB API Destination]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=11380</guid>

					<description><![CDATA[<p>Introduction In this article, you will learn how to download Outlook (Office 365) emails as .EML or .MSG files using ZappySys SSIS PowerPack without writing any code. We’ll leverage the power of Microsoft Graph API, which provides unified access to Microsoft 365 services like Outlook Mail, and integrate it seamlessly using the API Connector for [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/how-to-download-outlook-office-365-emails-as-eml-or-msg-files/">How to download Outlook (Office 365) Emails as .EML or .MSG Files</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><img loading="lazy" decoding="async" class="alignleft" title="Outlook Mail (Office 365)" src="https://zappysys.com/blog/wp-content/uploads/2025/06/Outlook-28x281-1.png" alt="Outlook Mail (Office 365)" width="100" height="100" /> In this article, you will learn how to download Outlook (Office 365) emails as .EML or .MSG files using ZappySys SSIS PowerPack without writing any code. We’ll leverage the power of Microsoft Graph API, which provides unified access to Microsoft 365 services like Outlook Mail, and integrate it seamlessly using the <a href="https://zappysys.com/api/integration-hub/outlook-mail-connector/ssis">API Connector for SSIS Outlook Mail (Office 365)</a>, Web API Destination and other components. By the end, you’ll be able to automate the process of extracting emails and saving them to disk in standard email formats directly from your SSIS package.</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>Step 1: Register an Application in Azure Portal</h2>
<p>To access Outlook emails via Microsoft Graph API, the first step is to register an application in the Azure Portal. This allows your SSIS package to authenticate securely and retrieve mail data from Office 365.<br />
Step by step info is available here Outlook Mail (Office 365) Connector Authentication section.</p>
<h3>User Credentials</h3>
<p>Use delegated access (User Credentials) whenever you want to let a signed-in user work with their own resources or resources they can access. Whether it&#8217;s an admin setting up policies for their entire organization or a user deleting an email in their inbox, all scenarios involving user actions should use delegated access.<br />
<b>Refer to this links for the detailed steps:</b> <a href="https://zappysys.com/api/integration-hub/outlook-mail-connector/help/authentication/usercreds/" target="_blank" rel="noopener">User Credentials [OAuth]</a></p>
<h3>Application Credentials</h3>
<p>Application-only access is broader and more powerful than delegated access (User Credentials), so you should only use app-only access where needed. Use it when:</p>
<ol>
<li>The application needs to run in an automated way, without user input (for example, a daily script that checks emails from certain contacts and sends automated responses).</li>
<li>The application needs to access resources belonging to multiple different users (for example, a backup or data loss prevention app might need to retrieve messages from many different chat channels, each with different participants).</li>
<li>You find yourself tempted to store credentials locally and allow the app to sign in &#8216;as&#8217; the user or admin.</li>
</ol>
<p><b>Refer to this links for the detailed steps:</b> <a href="https://zappysys.com/api/integration-hub/outlook-mail-connector/help/authentication/appcreds/ target=">Application Credentials [OAuth]</a></p>
<h2>Step 2: Download Outlook (Office 365) Emails as .EML Files using SSIS</h2>
<p>Now let’s look at some examples of how to access your Outlook emails using our easy-to-use Outlook Mail Connector in ZappySys SSIS PowerPack. This connector simplifies calling the Microsoft Graph API, so you can retrieve emails with just a few clicks.<br />
In this section we will learn how to configure and use Outlook Mail (Office 365) Connector in <a title="SSIS API Source" href="https://zappysys.com/products/ssis-powerpack/ssis-api-source/">API Source</a> to extract data from Outlook Mail (Office 365).</p>
<ol>
<li>Begin with opening Visual Studio and Create a New Project.</li>
<li>Select Integration Service Project and in new project window set the appropriate name and location for project.<br />
And click OK.</li>
<li>In the new SSIS project screen you will find the following:
<ol type="i">
<li>SSIS ToolBox on left side bar</li>
<li>Solution Explorer and Property Window on right bar</li>
<li>Control flow, data flow, event Handlers, Package Explorer in tab windows</li>
<li>Connection Manager Window in the bottom</li>
</ol>
<p><img loading="lazy" decoding="async" class="img-thumbnail" title="SSIS Project Screen" src="https://cdn.zappysys.com/api/images/zappysys-ssis-project-with-toolbox.png" alt="SSIS Project Screen" width="1059" height="675" /></p>
<div class="alert alert-warning">Note: If you don&#8217;t see ZappySys SSIS PowerPack Task or Components in SSIS Toolbox, please refer to <a href="https://zappysys.zendesk.com/hc/en-us/articles/115004935754-I-don-t-see-PowerPack-components-in-SSIS-Toolbox">this help link</a>.</div>
</li>
<li>Now, Drag and Drop <b>SSIS Data Flow Task</b> from SSIS Toolbox. Double click on the <em>Data Flow Task</em> to see <em>Data Flow</em> designer.<img loading="lazy" decoding="async" class="img-thumbnail" title="SSIS Data Flow Task - Drag and Drop" src="https://cdn.zappysys.com/onlinehelp/ssis-powerpack/scr/images/drag-and-drop-data-flow-task.png" alt="SSIS Data Flow Task - Drag and Drop" width="460" height="155" /></li>
<li>From the SSIS toolbox drag and <a title="SSIS API Source" href="https://zappysys.com/products/ssis-powerpack/ssis-api-source/">API Source</a> (Predefined Templates) on the data flow designer surface, and double click on it to edit it:<br />
<img loading="lazy" decoding="async" class="img-thumbnail" title="SSIS API Source (Predefined Templates) - Drag and Drop" src="https://cdn.zappysys.com/api/images/ssis-api-source-drag-and-drop.jpg" alt="SSIS API Source (Predefined Templates) - Drag and Drop" width="659" height="292" /></li>
<li>Select <strong>New Connection</strong> to create a new connection:<br />
<img loading="lazy" decoding="async" class="img-thumbnail img-thumbnail" title="API Source - New Connection" src="https://cdn.zappysys.com/api/images/ssis-api-source-new-connection.png" alt="API Source - New Connection" width="684" height="643" /></li>
<li>Use a preinstalled Outlook Mail (Office 365) Connector from <em>Popular Connector List</em> or press <em>Search Online</em> radio button to download Outlook Mail (Office 365) Connector. Once downloaded simply use it in the configuration:
<div id="attachment_11392" style="width: 722px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-select-outlook-mail-connector.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11392" class="size-full wp-image-11392" src="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-select-outlook-mail-connector.png" alt="Outlook Mail (Office 365) Connector Selection" width="712" height="654" srcset="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-select-outlook-mail-connector.png 712w, https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-select-outlook-mail-connector-300x276.png 300w" sizes="(max-width: 712px) 100vw, 712px" /></a><p id="caption-attachment-11392" class="wp-caption-text">Outlook Mail (Office 365) Connector Selection</p></div></li>
<li>Proceed with selecting the desired Authentication Type. Then select <em>API Base URL</em> (in most cases default one is the right one). Finally, fill in all the required parameters and set optional parameters if needed. You may press a link <strong>Steps to Configure</strong> which will help set certain parameters. More info is available in <a href="https://zappysys.com/api/integration-hub/outlook-mail-connector/help/authentication/UserCreds">Authentication section</a>.
<ol>
<li>User Credentials [OAuth]
<div id="attachment_11394" style="width: 806px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-outlook-mail-user-cred-authentication.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11394" class="size-full wp-image-11394" src="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-outlook-mail-user-cred-authentication.png" alt="User Credentials [OAuth]" width="796" height="732" srcset="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-outlook-mail-user-cred-authentication.png 796w, https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-outlook-mail-user-cred-authentication-300x276.png 300w, https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-outlook-mail-user-cred-authentication-768x706.png 768w" sizes="(max-width: 796px) 100vw, 796px" /></a><p id="caption-attachment-11394" class="wp-caption-text">User Credentials [OAuth]</p></div><b>OR</b></li>
<li>Application Credentials [OAuth]
<div id="attachment_11395" style="width: 809px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-outlook-mail-app-cred-authentication.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11395" class="size-full wp-image-11395" src="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-outlook-mail-app-cred-authentication.png" alt="Application Credentials [OAuth]" width="799" height="735" srcset="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-outlook-mail-app-cred-authentication.png 799w, https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-outlook-mail-app-cred-authentication-300x276.png 300w, https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-outlook-mail-app-cred-authentication-768x706.png 768w" sizes="(max-width: 799px) 100vw, 799px" /></a><p id="caption-attachment-11395" class="wp-caption-text">Application Credentials [OAuth]</p></div></li>
</ol>
</li>
<li>Select the <b>Get Messsages</b> endpoint, change/pass the properties values, and click on <strong>Preview Data</strong> button to make the API call.
<div id="attachment_11397" style="width: 756px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-select-outlook-mail-get-messages.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11397" class="size-full wp-image-11397" src="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-select-outlook-mail-get-messages.png" alt="API Source - Get Messages Endpoint" width="746" height="603" srcset="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-select-outlook-mail-get-messages.png 746w, https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-select-outlook-mail-get-messages-300x242.png 300w" sizes="(max-width: 746px) 100vw, 746px" /></a><p id="caption-attachment-11397" class="wp-caption-text">API Source &#8211; Get Messages Endpoint</p></div></li>
<li>That’s it — click <b>OK</b> and you&#8217;re done! In just a few clicks, you’ve successfully configured a connection to <b>Outlook Mail (Office 365)</b> using the <b>Outlook Mail Connector</b>.</li>
<li>Now let&#8217;s move to the next step — retrieving the full email content.<br />
You’ll use the <strong>Web API Destination</strong> component to make the <strong>Get MIME content</strong> API call. Within this task, you can dynamically pass the <strong>Message ID</strong> to fetch each email’s raw <code>.EML</code> content from Outlook (Office 365).<br />
For more details, refer to the official Microsoft documentation: <a href="https://learn.microsoft.com/en-us/graph/api/message-get?view=graph-rest-1.0&amp;tabs=http#example-4-get-mime-content" target="_blank" rel="noopener">Get Outlook Mail MIME content</a></li>
<li>Drag and drop the <b>Web API Destination</b> component from the SSIS Toolbox onto your Data Flow.<br />
Double-click to open it, then configure as follows and create a new OAuth Connection if needed:<strong>URL:</strong></p>
<blockquote><p>https://graph.microsoft.com/v1.0/me/messages/&lt;%Id%&gt;/$value</p></blockquote>
<p>The &lt;%Id%&gt; placeholder is dynamically replaced by SSIS at runtime with the actual Message ID, allowing the Web API Destination to download each email’s .EML content individually.</p>
<div id="attachment_11407" style="width: 730px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-web-api-destination-mail-get-mime-message.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11407" class="size-large wp-image-11407" src="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-web-api-destination-mail-get-mime-message-1024x748.png" alt="Get MIME content’ API call using the Web API Destination" width="720" height="526" srcset="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-web-api-destination-mail-get-mime-message-1024x748.png 1024w, https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-web-api-destination-mail-get-mime-message-300x219.png 300w, https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-web-api-destination-mail-get-mime-message-768x561.png 768w, https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-web-api-destination-mail-get-mime-message.png 1074w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-11407" class="wp-caption-text">Get MIME content’ API call using the Web API Destination</p></div></li>
<li>You’ll also need to create the OAuth connection using the same credentials.<br />
On the Advanced tab, make sure to set the Redirect URL correctly.For detailed steps, refer to this guide:<br />
<a href="https://zappysys.com/blog/rest-api-authentication-with-oauth-2-0-using-ssis/" target="_blank" rel="noopener">How to set up OAuth 2.0 in SSIS</a></p>
<div id="attachment_11408" style="width: 711px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-outlook-mail-oauth-connection.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11408" class="size-full wp-image-11408" src="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-outlook-mail-oauth-connection.png" alt="Outlook Mail OAuth 2.0 Connection" width="701" height="763" srcset="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-outlook-mail-oauth-connection.png 701w, https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-outlook-mail-oauth-connection-276x300.png 276w" sizes="(max-width: 701px) 100vw, 701px" /></a><p id="caption-attachment-11408" class="wp-caption-text">Outlook Mail OAuth 2.0 Connection</p></div></li>
<li>Next, add a Derived Column transformation to create a new column that defines the file path for saving the <strong>.EML</strong> file.<br />
In this example, we’ll use the Message ID to generate a unique file name for each email:Expression:</p>
<blockquote><p>(DT_WSTR,1000)&#8221;E:\\zsTemp\\&#8221; + [Id] + &#8220;.eml&#8221;</p></blockquote>
<div id="attachment_11409" style="width: 730px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-derived-column-add-filename.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11409" class="size-large wp-image-11409" src="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-derived-column-add-filename-1024x626.png" alt="Derived Column - Dynamic File Path" width="720" height="440" srcset="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-derived-column-add-filename-1024x626.png 1024w, https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-derived-column-add-filename-300x184.png 300w, https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-derived-column-add-filename-768x470.png 768w, https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-derived-column-add-filename.png 1154w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-11409" class="wp-caption-text">Derived Column &#8211; Dynamic File Path</p></div></li>
<li>Now, add an <strong>Export Column</strong> transformation to save the email content to a file.
<ul>
<li><strong>Extract Column:</strong> set to <code>ResponseText</code> (this holds the email content from Web API Destination)</li>
<li><strong>File Path Column:</strong> set to the column you created in the <strong>Derived Column</strong> step (e.g., <code>FilePath</code>)</li>
<li>Enable <strong>Force Truncate</strong> and <strong>Write Byte-Order Mark</strong> options</li>
</ul>
<div id="attachment_11411" style="width: 730px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-export-column-save-to-file.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11411" class="size-large wp-image-11411" src="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-export-column-save-to-file-1024x574.png" alt="Export Column - write the email content to a file on disk." width="720" height="404" srcset="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-export-column-save-to-file-1024x574.png 1024w, https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-export-column-save-to-file-300x168.png 300w, https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-export-column-save-to-file-768x431.png 768w, https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-export-column-save-to-file.png 1216w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-11411" class="wp-caption-text">Export Column &#8211; write the email content to a file on disk.</p></div></li>
<li><b>Set File Encoding to UTF-8 (Optional)</b><br />
Next, go to the <strong>Control Flow</strong> and use the <strong>Advanced File System Task</strong> to convert the downloaded <code>.eml</code> file’s encoding to <strong>UTF-8</strong>.<br />
This step is optional — I had to apply it on my system because the files weren’t opening correctly due to a non-UTF-8 encoding.<br />
If you encounter a similar issue, follow this step to ensure proper compatibility with email clients.</p>
<div id="attachment_11413" style="width: 889px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-advanced-file-system-task-change-encoding.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11413" class="size-full wp-image-11413" src="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-advanced-file-system-task-change-encoding.png" alt="Advanced File System Task - Change Encoding" width="879" height="663" srcset="https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-advanced-file-system-task-change-encoding.png 879w, https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-advanced-file-system-task-change-encoding-300x226.png 300w, https://zappysys.com/blog/wp-content/uploads/2025/06/ssis-advanced-file-system-task-change-encoding-768x579.png 768w" sizes="(max-width: 879px) 100vw, 879px" /></a><p id="caption-attachment-11413" class="wp-caption-text">Advanced File System Task &#8211; Change Encoding</p></div></li>
<li><strong>That’s it!</strong> The process will now automatically download your Outlook messages to your local system as <code>.EML</code> files.
<div id="attachment_11414" style="width: 730px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2025/06/outlook-mail-files.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11414" class="size-large wp-image-11414" src="https://zappysys.com/blog/wp-content/uploads/2025/06/outlook-mail-files-1024x450.png" alt="Outlook .eml file’s" width="720" height="316" srcset="https://zappysys.com/blog/wp-content/uploads/2025/06/outlook-mail-files-1024x450.png 1024w, https://zappysys.com/blog/wp-content/uploads/2025/06/outlook-mail-files-300x132.png 300w, https://zappysys.com/blog/wp-content/uploads/2025/06/outlook-mail-files-768x338.png 768w, https://zappysys.com/blog/wp-content/uploads/2025/06/outlook-mail-files.png 1044w" sizes="(max-width: 720px) 100vw, 720px" /></a><p id="caption-attachment-11414" class="wp-caption-text">Outlook .eml file’s</p></div></li>
</ol>
<h2>Conclusion</h2>
<p>Using <strong>ZappySys SSIS PowerPack</strong> and Microsoft Graph API, you can easily automate the download of Outlook (Office 365) emails in <code>.EML</code> format — all within SSIS and without writing any code.<br />
This approach is ideal for archiving, compliance, or integrating email content into downstream systems.<br />
With a few simple components and steps, your email extraction workflow can be up and running in minutes.</p>
<p>The post <a href="https://zappysys.com/blog/how-to-download-outlook-office-365-emails-as-eml-or-msg-files/">How to download Outlook (Office 365) Emails as .EML or .MSG Files</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to upload files on SharePoint Online using SSIS</title>
		<link>https://zappysys.com/blog/upload-files-sharepoint-online-using-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Fri, 29 Dec 2023 12:49:39 +0000</pubDate>
				<category><![CDATA[SSIS API Source]]></category>
		<category><![CDATA[SSIS Components]]></category>
		<category><![CDATA[SSIS PowerPack]]></category>
		<category><![CDATA[Foreach Loop Container]]></category>
		<category><![CDATA[sharepoint online]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[ssis advanced file system task]]></category>
		<category><![CDATA[SSIS Power]]></category>
		<category><![CDATA[SSIS SharePoint Online Connector]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=10902</guid>

					<description><![CDATA[<p>Introduction If you need to upload files from SSIS to SharePoint Online, the ZappySys SharePoint Online Connector for SSIS gives you a direct way to configure the connection, authenticate, and send files without building the API calls from scratch. This guide shows how to upload one file or multiple files to SharePoint Online using SSIS, [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/upload-files-sharepoint-online-using-ssis/">How to upload files on SharePoint Online using SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><strong>Introduction</strong></h2>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2018/05/sharepoint-icon.jpg"><img loading="lazy" decoding="async" class="wp-image-3731 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2018/05/sharepoint-icon.jpg" alt="sharepoint icon" width="100" height="100" srcset="https://zappysys.com/blog/wp-content/uploads/2018/05/sharepoint-icon.jpg 225w, https://zappysys.com/blog/wp-content/uploads/2018/05/sharepoint-icon-150x150.jpg 150w" sizes="(max-width: 100px) 100vw, 100px" /></a>If you need to upload files from SSIS to SharePoint Online, the ZappySys <a href="https://zappysys.com/api/integration-hub/sharepoint-connector/ssis">SharePoint Online Connector for SSIS</a> gives you a direct way to configure the connection, authenticate, and send files without building the API calls from scratch.</p>
<p>This guide shows how to upload one file or multiple files to SharePoint Online using SSIS, API Source, and supporting SSIS components.</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>Upload files to SharePoint Online with SSIS</h2>
<p>In this section, you will configure the SharePoint Online Connector in API Source and use it to upload files to SharePoint Online.</p>
<ol>
<li>Begin by opening Visual Studio and creating a new project.</li>
<li>Select Integration Service Project and in the new project window set the appropriate name and location for the project. Click OK.</li>
<li>In the new SSIS project screen you will find the following:
<ol style="list-style-type: lower-alpha;">
<li>SSIS ToolBox on the left sidebar</li>
<li>Solution Explorer and Property Window on the right bar</li>
<li>Control flow, data flow, event Handlers, Package Explorer in tab windows</li>
<li>Connection Manager Window at the bottom</li>
</ol>
<div id="attachment_10258" style="width: 710px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/upload-files-google-drive-using-ssis/zappysys-ssis-project-with-toolbox/#main"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10258" class="wp-image-10258" src="https://zappysys.com/blog/wp-content/uploads/2023/08/zappysys-ssis-project-with-toolbox-1024x653.png" alt="zappysys ssis project with toolbox" width="700" height="447" srcset="https://zappysys.com/blog/wp-content/uploads/2023/08/zappysys-ssis-project-with-toolbox-1024x653.png 1024w, https://zappysys.com/blog/wp-content/uploads/2023/08/zappysys-ssis-project-with-toolbox-300x191.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/08/zappysys-ssis-project-with-toolbox-768x490.png 768w, https://zappysys.com/blog/wp-content/uploads/2023/08/zappysys-ssis-project-with-toolbox.png 1287w" sizes="(max-width: 700px) 100vw, 700px" /></a><p id="caption-attachment-10258" class="wp-caption-text">SSIS Toolbox &#8211; ZappySys Tasks</p></div>
<div class="su-note"  style="border-color:#e5dd9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#fff7b7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><strong>NOTE</strong>: If you don&#8217;t see ZappySys SSIS PowerPack Task or Components in the SSIS Toolbox, please refer to <a href="https://zappysys.zendesk.com/hc/en-us/articles/115004935754-I-don-t-see-PowerPack-components-in-SSIS-Toolbox">this help link</a>.</div></div></li>
<li>Drag and drop the SSIS Data Flow Task from the SSIS Toolbox. Double-click on the Data Flow Task to see the Data Flow Designer.<br />
<a href="https://zappysys.com/blog/wp-content/uploads/2023/08/drag-and-drop-data-flow-task.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-10260" src="https://zappysys.com/blog/wp-content/uploads/2023/08/drag-and-drop-data-flow-task.png" alt="" width="460" height="155" srcset="https://zappysys.com/blog/wp-content/uploads/2023/08/drag-and-drop-data-flow-task.png 460w, https://zappysys.com/blog/wp-content/uploads/2023/08/drag-and-drop-data-flow-task-300x101.png 300w" sizes="(max-width: 460px) 100vw, 460px" /></a></li>
<li>From the SSIS Toolbox, drag and drop API Source (Predefined Templates) onto the Data Flow Designer surface, then double-click it to edit it:<br />
<a href="https://zappysys.com/blog/wp-content/uploads/2023/08/ssis-api-source-drag-and-drop.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-10262" src="https://zappysys.com/blog/wp-content/uploads/2023/08/ssis-api-source-drag-and-drop.jpg" alt="" width="659" height="292" srcset="https://zappysys.com/blog/wp-content/uploads/2023/08/ssis-api-source-drag-and-drop.jpg 659w, https://zappysys.com/blog/wp-content/uploads/2023/08/ssis-api-source-drag-and-drop-300x133.jpg 300w" sizes="(max-width: 659px) 100vw, 659px" /></a></li>
<li>Select <strong>New Connection</strong> to create a new connection:<br />
<a href="https://zappysys.com/blog/wp-content/uploads/2023/08/ssis-api-source-new-connection.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-10263" src="https://zappysys.com/blog/wp-content/uploads/2023/08/ssis-api-source-new-connection.png" alt="" width="684" height="643" srcset="https://zappysys.com/blog/wp-content/uploads/2023/08/ssis-api-source-new-connection.png 684w, https://zappysys.com/blog/wp-content/uploads/2023/08/ssis-api-source-new-connection-300x282.png 300w" sizes="(max-width: 684px) 100vw, 684px" /></a></li>
</ol>
<h2>Configuring the SharePoint Online Connector</h2>
<ol>
<li>Use a preinstalled SharePoint Online Connector from the Popular Connector List or press the Search Online radio button to download SharePoint Online Connector. Once downloaded simply use it in the configuration:
<div id="attachment_10888" style="width: 876px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-template-selection-sharepoint-walkthrough.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10888" class="wp-image-10888 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-template-selection-sharepoint-walkthrough.png" alt="SSIS ZS API Connection Manager - Select SharePoint Online Connector" width="866" height="773" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-template-selection-sharepoint-walkthrough.png 866w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-template-selection-sharepoint-walkthrough-300x268.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-template-selection-sharepoint-walkthrough-768x686.png 768w" sizes="(max-width: 866px) 100vw, 866px" /></a><p id="caption-attachment-10888" class="wp-caption-text">SSIS ZS API Connection Manager &#8211; Select SharePoint Online Connector</p></div></li>
<li>Select the desired authentication type. Then choose the API Base URL. In most cases, the default value is correct. Fill in the required parameters and add optional parameters only when needed.</li>
<li>After configuring the required properties in API Connection Manager, click <strong>Test Connection</strong> to confirm that the connection works.<br />
<h3>Method 1: Connect to SharePoint Online using user credentials [OAuth]</h3>
<p>Use the <a href="https://zappysys.com/api/integration-hub/sharepoint-connector/help/authentication/UserCreds"><strong>Steps to Configure</strong></a> link to help set the required parameters.</p>
<div id="attachment_10884" style="width: 876px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-generate-token-user-credentials.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10884" class="wp-image-10884 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-generate-token-user-credentials.png" alt="SSIS ZS API Connection Manager - Generate Token - SharePoint Online with User Credentials" width="866" height="814" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-generate-token-user-credentials.png 866w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-generate-token-user-credentials-300x282.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-generate-token-user-credentials-768x722.png 768w" sizes="(max-width: 866px) 100vw, 866px" /></a><p id="caption-attachment-10884" class="wp-caption-text">SSIS ZS API Connection Manager &#8211; Generate Token &#8211; SharePoint Online with User Credentials</p></div>
<h3>Method 2: Connect to SharePoint Online using application credentials [OAuth]</h3>
<p>Use the <a href="https://zappysys.com/api/integration-hub/sharepoint-connector/help/authentication/AppCreds"><strong>Steps to Configure</strong></a> link to help set the required parameters.</p>
<div id="attachment_10892" style="width: 876px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-application-creds-generate-token.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10892" class="size-full wp-image-10892" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-application-creds-generate-token.png" alt="SSIS API Source - Generate Token - SharePoint Online with Application Credentials" width="866" height="773" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-application-creds-generate-token.png 866w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-application-creds-generate-token-300x268.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-application-creds-generate-token-768x686.png 768w" sizes="(max-width: 866px) 100vw, 866px" /></a><p id="caption-attachment-10892" class="wp-caption-text">SSIS API Source &#8211; Generate Token &#8211; SharePoint Online with Application Credentials</p></div></li>
</ol>
<h2>How to upload a local file to SharePoint Online</h2>
<p>In the API Source Component, we&#8217;ve chosen the API Connection Manager. Next, we need to configure the remaining properties of the component to upload a local file to SharePoint Online.</p>
<ol>
<li>Choose the <strong>Upload file</strong> endpoint from the &#8220;Select Table/Endpoint&#8221; dropdown menu.</li>
<li>Select the desired Drive ID from the <strong>DriveId</strong> drop-down.</li>
<li>Specify the desired source file path for the file being uploaded by setting the <strong>DiskFilePath</strong> parameter.</li>
<li>Specify the desired Target Path by setting the <strong>SharePointFilePath</strong> parameter.</li>
</ol>
<p>Please refer to the sample screenshot below.</p>
<div id="attachment_10906" style="width: 1010px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-single-file-upload-1.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10906" class="wp-image-10906" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-single-file-upload-1-1024x569.png" alt="SSIS API Source – SharePoint Online – Upload Single File" width="1000" height="555" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-single-file-upload-1-1024x569.png 1024w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-single-file-upload-1-300x167.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-single-file-upload-1-768x426.png 768w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-single-file-upload-1.png 1410w" sizes="(max-width: 1000px) 100vw, 1000px" /></a><p id="caption-attachment-10906" class="wp-caption-text">SSIS API Source – SharePoint Online – Upload Single File</p></div>
<p>After configuring the properties above, click <strong>Preview Data</strong> to test the API call. At this point, the SharePoint Online Connector is ready to upload a local file from SSIS.</p>
<h2>How to upload multiple files to SharePoint Online</h2>
<p>In the API Source Component, we&#8217;ve selected the API Connection Manager. Next, we need to configure the remaining properties of the component to upload multiple files to SharePoint Online. Additionally, we should utilize a Foreach Loop Container to iterate through each file one by one in a loop.</p>
<ol>
<li>Create 3 SSIS variables as described below.<br />
<table border="1">
<tbody>
<tr>
<th>Variable Name</th>
<th>Datatype</th>
<th>Value</th>
</tr>
<tr>
<td>varFileLists</td>
<td>Object</td>
<td>System.Object</td>
</tr>
<tr>
<td>varFileName</td>
<td>String</td>
<td>fake.extension</td>
</tr>
<tr>
<td>varFullFilePath</td>
<td>String</td>
<td>C:/fake/fake.extension</td>
</tr>
</tbody>
</table>
</li>
<li>Go to Control Flow, From the SSIS toolbox drag and drop <strong>ZS Advanced File System Task</strong> on the control flow designer surface, and double click on it to edit it:<br />
<a href="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-advanced-file-system-task-drag-and-drop.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-10363" src="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-advanced-file-system-task-drag-and-drop.png" alt="SSIS Advanced File System Task - Drag &amp; Drop" width="580" height="241" srcset="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-advanced-file-system-task-drag-and-drop.png 580w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-advanced-file-system-task-drag-and-drop-300x125.png 300w" sizes="(max-width: 580px) 100vw, 580px" /></a></li>
<li>Select the &#8220;Get file list as ADO.NET Data Table&#8221; action from the Action drop-down menu. Set the file path in the Path textbox. Choose the variable (Object type) where you want to store the file list, and then click the OK button to save the settings.
<div id="attachment_10364" style="width: 722px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-advanced-file-system-task-store-filelists-adotable-in-object-variable.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10364" class="size-full wp-image-10364" src="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-advanced-file-system-task-store-filelists-adotable-in-object-variable.png" alt="SSIS Advanced File System Task - Get file list as ADO.net Data Table" width="712" height="623" srcset="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-advanced-file-system-task-store-filelists-adotable-in-object-variable.png 712w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-advanced-file-system-task-store-filelists-adotable-in-object-variable-300x263.png 300w" sizes="(max-width: 712px) 100vw, 712px" /></a><p id="caption-attachment-10364" class="wp-caption-text">SSIS Advanced File System Task &#8211; Get file list as ADO.net Data Table</p></div></li>
<li>Now, drag and drop the &#8220;Foreach Loop Container&#8221; from the SSIS Toolbox and connect it with the &#8220;ZS Advanced File System Task.&#8221; Double-click on the &#8220;Foreach Loop Container&#8221; to edit its properties.
<div id="attachment_10365" style="width: 750px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-foreach-loop-container-drag-and-drop-googledrive.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10365" class="size-full wp-image-10365" src="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-foreach-loop-container-drag-and-drop-googledrive.png" alt="SSIS Foreach Loop Container - Drag &amp; Drop" width="740" height="531" srcset="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-foreach-loop-container-drag-and-drop-googledrive.png 740w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-foreach-loop-container-drag-and-drop-googledrive-300x215.png 300w" sizes="(max-width: 740px) 100vw, 740px" /></a><p id="caption-attachment-10365" class="wp-caption-text">SSIS Foreach Loop Container &#8211; Drag &amp; Drop</p></div></li>
<li>In the Foreach Loop Editor&#8217;s &#8220;Collection&#8221; tab, choose the Enumerator as &#8220;Foreach ADO Enumerator.&#8221; In the &#8220;ADO object source variable&#8221; field, select your SSIS object-typed variable. Select the &#8220;Rows in the first table&#8221; radio option.
<div id="attachment_10371" style="width: 747px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-googledrive-multiplefiles-upload-foreach-loop-editor-collection-tab-configuration.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10371" class="size-full wp-image-10371" src="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-googledrive-multiplefiles-upload-foreach-loop-editor-collection-tab-configuration.png" alt="SSIS Foreach Loop Editor - Collection - Select Variable &amp; Enumeration mode" width="737" height="631" srcset="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-googledrive-multiplefiles-upload-foreach-loop-editor-collection-tab-configuration.png 737w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-googledrive-multiplefiles-upload-foreach-loop-editor-collection-tab-configuration-300x257.png 300w" sizes="(max-width: 737px) 100vw, 737px" /></a><p id="caption-attachment-10371" class="wp-caption-text">SSIS Foreach Loop Editor &#8211; Collection &#8211; Select Variable &amp; Enumeration mode</p></div></li>
<li>In the Foreach Loop Editor&#8217;s &#8220;Variable Mappings&#8221; tab, select the variables that you want to map to the values from the collection, and then click the &#8220;OK&#8221; button to save your selections.
<div id="attachment_10370" style="width: 747px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-googledrive-multiplefiles-upload-foreach-loop-editor-variablemappings.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10370" class="size-full wp-image-10370" src="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-googledrive-multiplefiles-upload-foreach-loop-editor-variablemappings.png" alt="SSIS Foreach Loop Editor - Variable Mappings tab" width="737" height="631" srcset="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-googledrive-multiplefiles-upload-foreach-loop-editor-variablemappings.png 737w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-googledrive-multiplefiles-upload-foreach-loop-editor-variablemappings-300x257.png 300w" sizes="(max-width: 737px) 100vw, 737px" /></a><p id="caption-attachment-10370" class="wp-caption-text">SSIS Foreach Loop Editor &#8211; Variable Mappings</p></div></li>
<li>Inside the Foreach Loop Container, drag and drop the Data Flow Task, and then rename it according to your preference.
<div id="attachment_10854" style="width: 830px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-dataflow-task-inside-foreachloop-container-multiplefiles-upload.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10854" class="size-full wp-image-10854" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-dataflow-task-inside-foreachloop-container-multiplefiles-upload.png" alt="SSIS Data Flow Task - Drag &amp; Drop inside Foreach Loop Container" width="820" height="428" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-dataflow-task-inside-foreachloop-container-multiplefiles-upload.png 820w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-dataflow-task-inside-foreachloop-container-multiplefiles-upload-300x157.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-dataflow-task-inside-foreachloop-container-multiplefiles-upload-768x401.png 768w" sizes="(max-width: 820px) 100vw, 820px" /></a><p id="caption-attachment-10854" class="wp-caption-text">SSIS Data Flow Task &#8211; Drag &amp; Drop inside Foreach Loop Container</p></div></li>
<li>Double-click on the Data Flow Task to see the Data Flow Designer, From the SSIS Toolbox, drag and drop API Source (Predefined Templates) onto the Data Flow Designer surface, then double-click it to edit it:<br />
<a href="https://zappysys.com/blog/wp-content/uploads/2023/08/ssis-api-source-drag-and-drop.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-10262" src="https://zappysys.com/blog/wp-content/uploads/2023/08/ssis-api-source-drag-and-drop.jpg" alt="SSIS API Source - Drag &amp; Drop" width="659" height="292" srcset="https://zappysys.com/blog/wp-content/uploads/2023/08/ssis-api-source-drag-and-drop.jpg 659w, https://zappysys.com/blog/wp-content/uploads/2023/08/ssis-api-source-drag-and-drop-300x133.jpg 300w" sizes="(max-width: 659px) 100vw, 659px" /></a></li>
<li>Double-click on the <strong>API Source</strong> component to configure it for uploading multiple files to SharePoint Online.
<ol style="list-style-type: lower-alpha;">
<li>Choose the <strong>Upload file</strong> endpoint from the &#8220;Select Table/Endpoint&#8221; dropdown menu.</li>
<li>Set the <strong>SharePointFilePath</strong> parameter to the SSIS variable that contains the file name, such as <strong>varFileName</strong>.</li>
<li>Set the <strong>DiskFilePath</strong> parameter to the SSIS variable that contains the local file path, such as <strong>varFullFilePath</strong>.<br />
When configuring the SSIS variable directly in the Raw Edit, JSON may become invalid due to the requirement of slashes within the local file path. To address this, we use a JSONENC Placeholder Function for proper escaping.<br />
<pre class="crayon-plain-tag">&lt;&lt;{{User::varUserFullFilePath}},FUN_JSONENC&gt;&gt;</pre></li>
<li>If you wish to upload the local file to a specific folder in SharePoint Online, please set the folderName in the <strong>SharePointFilePath </strong>parameter.</li>
</ol>
<p>Please refer to the sample screenshot below.</p>
<div id="attachment_10904" style="width: 896px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-multiple-files-upload.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10904" class="size-full wp-image-10904" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-multiple-files-upload.png" alt="SSIS API Source – SharePoint Online – Upload Multiple files configuration" width="886" height="603" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-multiple-files-upload.png 886w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-multiple-files-upload-300x204.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-multiple-files-upload-768x523.png 768w" sizes="(max-width: 886px) 100vw, 886px" /></a><p id="caption-attachment-10904" class="wp-caption-text">SSIS API Source – SharePoint Online – Upload Multiple files configuration</p></div>
<p>To configure dynamic filenames and file paths, you can set variables. Click on &#8220;Raw Edit,&#8221; and in the &#8220;Edit Parameters&#8221; popup, you can use SSIS variables, as shown in the above image.</p>
<p>Once you have configured all the mentioned properties above, please click on the &#8220;Preview Data&#8221; button to initiate the API call.<br />
After that, execute the SSIS package and confirm that the files are uploaded to SharePoint Online. The screenshot below shows a sample result.</p>
<div id="attachment_10905" style="width: 1010px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-uploaded-multiple-files-sharepoint.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10905" class="wp-image-10905" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-uploaded-multiple-files-sharepoint-1024x465.png" alt="Multiple files uploaded on SharePoint Online using SSIS" width="1000" height="454" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-uploaded-multiple-files-sharepoint-1024x465.png 1024w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-uploaded-multiple-files-sharepoint-300x136.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-uploaded-multiple-files-sharepoint-768x349.png 768w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-uploaded-multiple-files-sharepoint.png 1262w" sizes="(max-width: 1000px) 100vw, 1000px" /></a><p id="caption-attachment-10905" class="wp-caption-text">Multiple files uploaded on SharePoint Online using SSIS</p></div>
<p>You have now configured the SharePoint Online Connector to upload multiple files from SSIS.</li>
</ol>
<h2>Conclusion</h2>
<p>In this guide, you learned how to connect to SharePoint Online using SSIS API Connection Manager and upload one or many files using the <a href="https://zappysys.com/products/ssis-powerpack/ssis-api-source/">SSIS API Source component</a>, <a href="https://zappysys.com/products/ssis-powerpack/ssis-file-system-task-advanced/">SSIS ZS Advanced File System Task</a>, Foreach Loop Container, and SSIS variables.</p>
<h2>Frequently Asked Questions</h2>
<h3>Can I upload more than one file to SharePoint Online from SSIS</h3>
<p>Yes. You can use a Foreach Loop Container with SSIS variables and ZS Advanced File System Task to iterate through a file list and upload files one by one.</p>
<h3>What is the easiest way to upload files to SharePoint Online from SSIS</h3>
<p>The simplest approach is to use the <a href="https://zappysys.com/api/integration-hub/sharepoint-connector/ssis">SharePoint Online Connector for SSIS</a>, because it provides ready-made authentication and upload endpoints inside the ZappySys connector interface.</p>
<h3>Which component uploads the files</h3>
<p>The upload action is configured in API Source by selecting the <strong>Upload file</strong> endpoint and setting values such as <strong>DriveId</strong>, <strong>DiskFilePath</strong>, and <strong>SharePointFilePath</strong>.</p>
<h2>Next step</h2>
<p>If you want to build this workflow in your own SSIS package, download <a href="https://zappysys.com/products/ssis-powerpack/download">SSIS PowerPack</a> and review the <a href="https://zappysys.com/api/integration-hub/sharepoint-connector/ssis">SharePoint Online Connector guide</a>.</p>
<p>The post <a href="https://zappysys.com/blog/upload-files-sharepoint-online-using-ssis/">How to upload files on SharePoint Online using SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
