<?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 Archives | ZappySys Blog</title>
	<atom:link href="https://zappysys.com/blog/tag/ssis/feed/" rel="self" type="application/rss+xml" />
	<link>https://zappysys.com/blog/tag/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 Archives | ZappySys Blog</title>
	<link>https://zappysys.com/blog/tag/ssis/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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>
		<item>
		<title>How to download files from SharePoint Online using SSIS</title>
		<link>https://zappysys.com/blog/download-files-sharepoint-online-using-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Fri, 29 Dec 2023 07:08:08 +0000</pubDate>
				<category><![CDATA[SSIS API Source]]></category>
		<category><![CDATA[SSIS Components]]></category>
		<category><![CDATA[SSIS PowerPack]]></category>
		<category><![CDATA[download files from sharepoint online]]></category>
		<category><![CDATA[sharepoint online]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[SSIS API Destination]]></category>
		<category><![CDATA[SSIS SharePoint Online Connector]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=10880</guid>

					<description><![CDATA[<p>Introduction In today&#8217;s data-driven world, the ability to seamlessly integrate and transfer files between different platforms is crucial for efficient business operations. If you&#8217;re a user of SQL Server Integration Services (SSIS) and looking to integrate SharePoint Online into your data workflow, you&#8217;re in luck. ZappySys SSIS PowerPack offers a powerful SharePoint Online Connector that [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/download-files-sharepoint-online-using-ssis/">How to download files from SharePoint Online using SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2018/05/sharepoint-icon.jpg"><img loading="lazy" decoding="async" class="alignleft wp-image-3731" 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>In today&#8217;s data-driven world, the ability to seamlessly integrate and transfer files between different platforms is crucial for efficient business operations. If you&#8217;re a user of SQL Server Integration Services (SSIS) and looking to integrate SharePoint Online into your data workflow, you&#8217;re in luck. ZappySys SSIS PowerPack offers a powerful <a href="https://zappysys.com/api/integration-hub/sharepoint-connector/">SharePoint Online Connector</a> that makes downloading files from SharePoint Online a breeze. In this guide, we&#8217;ll walk you through the process of downloading files from SharePoint Online using SSIS and the <a href="https://zappysys.com/api/integration-hub/sharepoint-connector/ssis">ZappySys SSIS PowerPack SharePoint Online Connector</a>.</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>Download files from SharePoint Online with SSIS:</h2>
<p>In this section, we will learn how to configure and use SharePoint Online Connector in the API Source &amp; API Destination to download files from SharePoint Online.</p>
<ol>
<li>Begin with 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>Now, 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) on the data flow designer surface, and double-click on 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>Proceed with selecting the desired Authentication Type. Then select API Base URL (in most cases default one is the right one). Finally, fill in all the required parameters and set optional parameters if needed.</li>
<li>After configuring all the required properties in the API Connection Manager, please click on the &#8220;Test Connection&#8221; button to confirm that the connection is established successfully.<br />
<h3>Method1: Connect to SharePoint Online using User Credentials [OAuth]</h3>
<p>You may press a link <a href="https://zappysys.com/api/integration-hub/sharepoint-connector/help/authentication/UserCreds"><strong>Steps to Configure</strong></a> which will help set certain parameters.</p>
<div class="mceTemp"></div>
<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>Method2: Connect to SharePoint Online using Application Credentials [OAuth]</h3>
<p>You may press a link <a href="https://zappysys.com/api/integration-hub/sharepoint-connector/help/authentication/AppCreds"><strong>Steps to Configure</strong></a> which will help set certain parameters.</p>
<div class="mceTemp"></div>
<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 download a single file from 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 download the single file from SharePoint Online.</p>
<ol>
<li>Choose the <strong>Download file</strong> endpoint from the &#8220;Select Table/Endpoint&#8221; dropdown menu.</li>
<li>Please choose DriveId from the drop-down menu.</li>
<li>Please set the <strong>FileId</strong> that indicates which file you wish to download. This is an essential parameter for the download process.</li>
<li>Please set the local folder&#8217;s physical path which indicates the desired file being downloaded by setting the <strong>TargetFilePath</strong> parameter.</li>
<li>If you intend to replace the local file with the one being downloaded, please select the &#8216;<strong>AlwaysOverwrite</strong>&#8216; option from the dropdown menu labeled &#8216;<strong>FileOverwriteMode</strong>&#8216;. Alternatively, you can choose &#8216;FileIfExists&#8217; or &#8216;SkipIfExists&#8217; based on your specific needs.</li>
</ol>
<p>Please refer to the sample screenshot below.</p>
<div class="mceTemp"></div>
<div id="attachment_10885" style="width: 1123px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-single-file-upload.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10885" class="size-full wp-image-10885" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-single-file-upload.png" alt="SSIS API Source - SharePoint Online - Download Single File" width="1113" height="861" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-single-file-upload.png 1113w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-single-file-upload-300x232.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-single-file-upload-768x594.png 768w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-sharepoint-single-file-upload-1024x792.png 1024w" sizes="(max-width: 1113px) 100vw, 1113px" /></a><p id="caption-attachment-10885" class="wp-caption-text">SSIS API Source &#8211; SharePoint Online &#8211; Download Single File</p></div>
<p>Once you have configured all the mentioned properties above, please click on the &#8220;Preview Data&#8221; button to initiate the API call. With just a few clicks, we have successfully configured the call to SharePoint Online using the <strong>ZappySys SharePoint Online Connector</strong> for downloading a Single file from SharePoint Online.</p>
<h2>How to download multiple files from SharePoint Online</h2>
<p>In the API Destination Component, we have chosen the API Connection Manager. Now, we must proceed to configure the remaining properties of the component to facilitate the download of multiple files from SharePoint Online. Additionally, we should make use of an OLE DB Source and Derived Column component to map the files for the download process.</p>
<ol>
<li>Drag and drop the OLE DB Source Component from the SSIS Toolbox. Double-click on the OLE D B Source Component to initiate its configuration.
<div id="attachment_7289" style="width: 515px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/oledb-source-drag-and-drop.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7289" class="wp-image-7289 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/06/oledb-source-drag-and-drop.png" alt="OLE DB Source - Drag and Drop" width="505" height="190" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/oledb-source-drag-and-drop.png 505w, https://zappysys.com/blog/wp-content/uploads/2019/06/oledb-source-drag-and-drop-300x113.png 300w" sizes="(max-width: 505px) 100vw, 505px" /></a><p id="caption-attachment-7289" class="wp-caption-text">OLE DB Source &#8211; Drag and Drop</p></div></li>
<li>Create a new OLE DB Connection Manager and configure your SQL Server settings for the connection. Next, select the Data access mode, specify the name of the table or view, or write an SQL Command. Afterward, click on the &#8216;Preview&#8217; button to view a preview and check the &#8216;Columns&#8217; tab for the source columns.
<div class="mceTemp"></div>
<div id="attachment_10887" style="width: 774px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-oledb-source-read-sharepoint-filesdata-sql.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10887" class="size-full wp-image-10887" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-oledb-source-read-sharepoint-filesdata-sql.png" alt="SSIS OLE DB Source - Configure SQL Connection and fetch the table data" width="764" height="797" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-oledb-source-read-sharepoint-filesdata-sql.png 764w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-oledb-source-read-sharepoint-filesdata-sql-288x300.png 288w" sizes="(max-width: 764px) 100vw, 764px" /></a><p id="caption-attachment-10887" class="wp-caption-text">SSIS OLE DB Source &#8211; Configure SQL Connection and fetch the table data</p></div></li>
<li>Next, drag and drop the Derived Column Component from the SSIS Toolbox. Double-click on the Derived Column Component to begin its configuration.
<div id="attachment_10219" style="width: 503px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2020/12/ssis-drag-and-drop-derived-column.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10219" class="size-full wp-image-10219" src="https://zappysys.com/blog/wp-content/uploads/2020/12/ssis-drag-and-drop-derived-column.png" alt="Drag and drop the Derived Column" width="493" height="345" srcset="https://zappysys.com/blog/wp-content/uploads/2020/12/ssis-drag-and-drop-derived-column.png 493w, https://zappysys.com/blog/wp-content/uploads/2020/12/ssis-drag-and-drop-derived-column-300x210.png 300w" sizes="(max-width: 493px) 100vw, 493px" /></a><p id="caption-attachment-10219" class="wp-caption-text">Drag and drop the Derived Column</p></div></li>
<li>Now, add a new Derived Column by setting the expression to concatenate FilePath and FileName. Click &#8216;OK&#8217; to save the configuration.
<div class="mceTemp"></div>
<div id="attachment_10886" style="width: 964px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-derived-column-add-newcolumn-sharepoint-set-expression.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10886" class="size-full wp-image-10886" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-derived-column-add-newcolumn-sharepoint-set-expression.png" alt="SSIS Derived Column - Add New Column and Set Expression" width="954" height="622" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-derived-column-add-newcolumn-sharepoint-set-expression.png 954w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-derived-column-add-newcolumn-sharepoint-set-expression-300x196.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-derived-column-add-newcolumn-sharepoint-set-expression-768x501.png 768w" sizes="(max-width: 954px) 100vw, 954px" /></a><p id="caption-attachment-10886" class="wp-caption-text">SSIS Derived Column &#8211; Add New Column and Set Expression</p></div></li>
<li>Now, drag and drop the API Destination Component from the SSIS Toolbox. Double-click on the API Destination Component to begin its configuration.
<div id="attachment_10697" style="width: 879px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-drag-and-drop.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10697" class="wp-image-10697 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-drag-and-drop.png" alt="Drag and Drop the SSIS API Destination Component" width="869" height="548" srcset="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-drag-and-drop.png 869w, https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-drag-and-drop-300x189.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-drag-and-drop-768x484.png 768w" sizes="(max-width: 869px) 100vw, 869px" /></a><p id="caption-attachment-10697" class="wp-caption-text">Drag and Drop the SSIS API Destination Component</p></div></li>
<li>Double-click on the <strong>API Destination</strong> component to configure it for downloading multiple files from SharePoint Online.
<ol style="list-style-type: lower-alpha;">
<li>Choose the <strong>Download file</strong> endpoint from the &#8220;Select Table/Endpoint&#8221; dropdown menu.</li>
<li>Please specify the &#8216;FileOverwriteMode&#8217; option as &#8216;AlwaysOverwrite,&#8217; or you can choose &#8216;FailIfExists&#8217; or &#8216;SkipIfExists&#8217; options based on your requirements.<br />
Please refer to the sample screenshot below.</p>
<div class="mceTemp"></div>
<div id="attachment_10899" style="width: 982px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-configure-settingstab-download-multiplefile-sharepoint.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10899" class="size-full wp-image-10899" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-configure-settingstab-download-multiplefile-sharepoint.png" alt="SSIS API Destination Component - Configure Settings Tab to download File from SharePoint Online" width="972" height="701" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-configure-settingstab-download-multiplefile-sharepoint.png 972w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-configure-settingstab-download-multiplefile-sharepoint-300x216.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-configure-settingstab-download-multiplefile-sharepoint-768x554.png 768w" sizes="(max-width: 972px) 100vw, 972px" /></a><p id="caption-attachment-10899" class="wp-caption-text">SSIS API Destination Component &#8211; Configure Settings Tab to download Files from SharePoint Online</p></div></li>
<li>Now, go to the Mappings tab and specify the source columns with the corresponding target properties.<br />
Note: Here We&#8217;re mapping FileID with $$Id and FileNameWithPath with $$ResponseDataFile. You can create mappings based on your Source columns<br />
Please refer to the sample screenshot below</p>
<div class="mceTemp"></div>
<div id="attachment_10890" style="width: 807px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-sharepoint-configure-mappingstab-download-multiplefile.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10890" class="wp-image-10890 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-sharepoint-configure-mappingstab-download-multiplefile.png" alt="SSIS API Destination Component - Configure the Mappings Tab to download multiple files from SharePoint Online" width="797" height="732" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-sharepoint-configure-mappingstab-download-multiplefile.png 797w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-sharepoint-configure-mappingstab-download-multiplefile-300x276.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-sharepoint-configure-mappingstab-download-multiplefile-768x705.png 768w" sizes="(max-width: 797px) 100vw, 797px" /></a><p id="caption-attachment-10890" class="wp-caption-text">SSIS API Destination Component &#8211; Configure the Mappings Tab to download multiple files from SharePoint Online</p></div></li>
</ol>
</li>
<li>Once you have configured all the mentioned properties above, please click on the &#8220;Preview Data&#8221; button from the Settings tab to initiate the API call. With just a few clicks, we have successfully configured the call to SharePoint Online using the ZappySys SharePoint Online Connector for downloading multiple files from SharePoint Online.<br />
Please refer to the sample screenshot below.</p>
<div class="mceTemp"></div>
<div id="attachment_10891" style="width: 913px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-sharepoint-download-multiplefiles-success.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10891" class="size-full wp-image-10891" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-sharepoint-download-multiplefiles-success.png" alt="Download Multiple files from SharePoint Online" width="903" height="333" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-sharepoint-download-multiplefiles-success.png 903w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-sharepoint-download-multiplefiles-success-300x111.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-sharepoint-download-multiplefiles-success-768x283.png 768w" sizes="(max-width: 903px) 100vw, 903px" /></a><p id="caption-attachment-10891" class="wp-caption-text">Download Multiple files from SharePoint Online</p></div></li>
</ol>
<h2>Conclusion</h2>
<p>In this blog, we learned how to connect with SharePoint Online using SSIS API Connection Manager and download single or multiple files from SharePoint Online using a combination of SSIS components, including 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-api-destination/">SSIS API Destination component</a>, OLE DB Source component, and Derived Column component.</p>
<p>The post <a href="https://zappysys.com/blog/download-files-sharepoint-online-using-ssis/">How to download files from SharePoint Online using SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to download files from OneDrive using SSIS</title>
		<link>https://zappysys.com/blog/download-files-onedrive-using-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Fri, 08 Dec 2023 13:58:43 +0000</pubDate>
				<category><![CDATA[SSIS API Destination]]></category>
		<category><![CDATA[SSIS API Source]]></category>
		<category><![CDATA[SSIS Components]]></category>
		<category><![CDATA[SSIS PowerPack]]></category>
		<category><![CDATA[download files from onedrive]]></category>
		<category><![CDATA[onedrive]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[SSIS OneDrive Connector]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=10862</guid>

					<description><![CDATA[<p>Introduction In today&#8217;s data-driven world, the ability to seamlessly integrate and transfer files between different platforms is crucial for efficient business operations. If you&#8217;re a user of SQL Server Integration Services (SSIS) and looking to integrate OneDrive into your data workflow, you&#8217;re in luck. ZappySys SSIS PowerPack offers a powerful OneDrive Connector that makes downloading [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/download-files-onedrive-using-ssis/">How to download files from OneDrive using SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2020/08/microsoft-onedrive-logo.png"><img loading="lazy" decoding="async" class="alignleft wp-image-9115 " src="https://zappysys.com/blog/wp-content/uploads/2020/08/microsoft-onedrive-logo-150x150.png" alt="Download File from OneDrive in SSIS" width="100" height="100" srcset="https://zappysys.com/blog/wp-content/uploads/2020/08/microsoft-onedrive-logo-150x150.png 150w, https://zappysys.com/blog/wp-content/uploads/2020/08/microsoft-onedrive-logo.png 261w" sizes="(max-width: 100px) 100vw, 100px" /></a>In today&#8217;s data-driven world, the ability to seamlessly integrate and transfer files between different platforms is crucial for efficient business operations. If you&#8217;re a user of SQL Server Integration Services (SSIS) and looking to integrate OneDrive into your data workflow, you&#8217;re in luck. ZappySys SSIS PowerPack offers a powerful <a href="https://zappysys.com/api/integration-hub/onedrive-connector/">OneDrive Connector</a> that makes downloading files from OneDrive a breeze. In this guide, we&#8217;ll walk you through the process of downloading files from OneDrive using SSIS and the <a href="https://zappysys.com/api/integration-hub/onedrive-connector/ssis">ZappySys SSIS PowerPack OneDrive Connector</a>.</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>Download files from OneDrive with SSIS</h2>
<p>In this section, we will learn how to configure and use OneDrive Connector in the API Source &amp; API Destination to download files from OneDrive.</p>
<ol>
<li>Begin with 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>Now, 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) on the data flow designer surface, and double-click on 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 OneDrive Connector</h2>
<ol>
<li>Use a preinstalled OneDrive Connector from the Popular Connector List or press the Search Online radio button to download OneDrive Connector. Once downloaded simply use it in the configuration:<br />
<a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-template-selection-onedrive-walkthrough.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-10851" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-template-selection-onedrive-walkthrough.png" alt="ssis onedrive template selection walkthrough" width="783" height="719" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-template-selection-onedrive-walkthrough.png 783w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-template-selection-onedrive-walkthrough-300x275.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-template-selection-onedrive-walkthrough-768x705.png 768w" sizes="(max-width: 783px) 100vw, 783px" /></a></li>
<li>Proceed with selecting the desired Authentication Type. Then select API Base URL (in most cases default one is the right one). Finally, fill in all the required parameters and set optional parameters if needed.</li>
<li>After configuring all the required properties in the API Connection Manager, please click on the &#8220;Test Connection&#8221; button to confirm that the connection is established successfully.<br />
<h3>Method1: Connect to OneDrive using User Credentials [OAuth]</h3>
<p>You may press a link <a href="https://zappysys.com/api/integration-hub/onedrive-connector/help/authentication/UserCreds"><strong>Steps to Configure</strong></a> which will help set certain parameters.</p>
<div id="attachment_10850" style="width: 755px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-generate-token-user-credentials.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10850" class="wp-image-10850 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-generate-token-user-credentials.png" alt="SSIS API Source - Generate Token - OneDrive with User Credentials" width="745" height="784" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-generate-token-user-credentials.png 745w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-generate-token-user-credentials-285x300.png 285w" sizes="(max-width: 745px) 100vw, 745px" /></a><p id="caption-attachment-10850" class="wp-caption-text">SSIS API Source &#8211; Generate Token &#8211; OneDrive with User Credentials</p></div>
<h3>Method2: Connect to OneDrive using Application Credentials [OAuth]</h3>
<p>You may press a link <a href="https://zappysys.com/api/integration-hub/onedrive-connector/help/authentication/AppCreds"><strong>Steps to Configure</strong></a> which will help set certain parameters.</p>
<div id="attachment_10849" style="width: 876px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-application-creds-generate-token.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10849" class="size-full wp-image-10849" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-application-creds-generate-token.png" alt="SSIS API Source - Generate Token - OneDrive with Application Credentials" width="866" height="773" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-application-creds-generate-token.png 866w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-application-creds-generate-token-300x268.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-application-creds-generate-token-768x686.png 768w" sizes="(max-width: 866px) 100vw, 866px" /></a><p id="caption-attachment-10849" class="wp-caption-text">SSIS API Source &#8211; Generate Token &#8211; OneDrive with Application Credentials</p></div></li>
</ol>
<h2>How to download a single file from OneDrive</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 download the single file from OneDrive.</p>
<ol>
<li>Choose the <strong>Download file</strong> endpoint from the &#8220;Select Table/Endpoint&#8221; dropdown menu.</li>
<li>Please choose DriveId from the drop-down menu.</li>
<li>Please set the <strong>FileId</strong> that indicates which file you wish to download. This is an essential parameter for the download process.</li>
<li>Please set the local folder&#8217;s physical path which indicates the desired file being downloaded by setting the <strong>TargetFilePath</strong> parameter.</li>
<li>If you intend to replace the local file with the one being downloaded, please select the &#8216;<strong>AlwaysOverwrite</strong>&#8216; option from the dropdown menu labeled &#8216;<strong>FileOverwriteMode</strong>&#8216;. Alternatively, you can choose &#8216;FileIfExists&#8217; or &#8216;SkipIfExists&#8217; based on your specific needs.</li>
</ol>
<p>Please refer to the sample screenshot below.</p>
<div id="attachment_10865" style="width: 724px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-single-file-download.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10865" class="size-full wp-image-10865" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-single-file-download.png" alt="SSIS API Source - OneDrive - Download Single File" width="714" height="893" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-single-file-download.png 714w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-single-file-download-240x300.png 240w" sizes="(max-width: 714px) 100vw, 714px" /></a><p id="caption-attachment-10865" class="wp-caption-text">SSIS API Source &#8211; OneDrive &#8211; Download Single File</p></div>
<p>Once you have configured all the mentioned properties above, please click on the &#8220;Preview Data&#8221; button to initiate the API call. With just a few clicks, we have successfully configured the call to OneDrive using the <strong>ZappySys OneDrive Connector</strong> for downloading a Single file from OneDrive.</p>
<h2>How to download multiple files from OneDrive</h2>
<p>In the API Destination Component, we have chosen the API Connection Manager. Now, we must proceed to configure the remaining properties of the component to facilitate the download of multiple files from OneDrive. Additionally, we should make use of an OLE DB Source and Derived Column component to map the files for the download process.</p>
<ol>
<li>Drag and drop the OLE DB Source Component from the SSIS Toolbox. Double-click on the OLE DB Source Component to initiate its configuration.
<div id="attachment_7289" style="width: 515px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/oledb-source-drag-and-drop.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7289" class="wp-image-7289 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/06/oledb-source-drag-and-drop.png" alt="OLE DB Source - Drag and Drop" width="505" height="190" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/oledb-source-drag-and-drop.png 505w, https://zappysys.com/blog/wp-content/uploads/2019/06/oledb-source-drag-and-drop-300x113.png 300w" sizes="(max-width: 505px) 100vw, 505px" /></a><p id="caption-attachment-7289" class="wp-caption-text">OLE DB Source &#8211; Drag and Drop</p></div></li>
<li>Create a new OLE DB Connection Manager and configure your SQL Server settings for the connection. Next, select the Data access mode, specify the name of the table or view, or write an SQL Command. Afterward, click on the &#8216;Preview&#8217; button to view a preview and check the &#8216;Columns&#8217; tab for the source columns.
<div id="attachment_10874" style="width: 832px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-oledb-source-read-onedrive-filesdata-sql.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10874" class="wp-image-10874 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-oledb-source-read-onedrive-filesdata-sql.png" alt="SSIS OLE DB Source - Configure SQL Connection and fetch the table data" width="822" height="718" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-oledb-source-read-onedrive-filesdata-sql.png 822w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-oledb-source-read-onedrive-filesdata-sql-300x262.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-oledb-source-read-onedrive-filesdata-sql-768x671.png 768w" sizes="(max-width: 822px) 100vw, 822px" /></a><p id="caption-attachment-10874" class="wp-caption-text">SSIS OLE DB Source &#8211; Configure SQL Connection and fetch the table data</p></div></li>
<li>Next, drag and drop the Derived Column Component from the SSIS Toolbox. Double-click on the Derived Column Component to begin its configuration.
<div id="attachment_10219" style="width: 503px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2020/12/ssis-drag-and-drop-derived-column.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10219" class="size-full wp-image-10219" src="https://zappysys.com/blog/wp-content/uploads/2020/12/ssis-drag-and-drop-derived-column.png" alt="Drag and drop the Derived Column" width="493" height="345" srcset="https://zappysys.com/blog/wp-content/uploads/2020/12/ssis-drag-and-drop-derived-column.png 493w, https://zappysys.com/blog/wp-content/uploads/2020/12/ssis-drag-and-drop-derived-column-300x210.png 300w" sizes="(max-width: 493px) 100vw, 493px" /></a><p id="caption-attachment-10219" class="wp-caption-text">Drag and drop the Derived Column</p></div></li>
<li>Now, add a new Derived Column by setting the expression to concatenate FilePath and FileName. Click &#8216;OK&#8217; to save the configuration.
<div id="attachment_10873" style="width: 858px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-derived-column-add-newcolumn-onedrive-set-expression.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10873" class="wp-image-10873 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-derived-column-add-newcolumn-onedrive-set-expression.png" alt="SSIS Derived Column - Add New Column and Set Expression" width="848" height="622" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-derived-column-add-newcolumn-onedrive-set-expression.png 848w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-derived-column-add-newcolumn-onedrive-set-expression-300x220.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-derived-column-add-newcolumn-onedrive-set-expression-768x563.png 768w" sizes="(max-width: 848px) 100vw, 848px" /></a><p id="caption-attachment-10873" class="wp-caption-text">SSIS Derived Column &#8211; Add New Column and Set Expression</p></div></li>
<li>Now, drag and drop the API Destination Component from the SSIS Toolbox. Double-click on the API Destination Component to begin its configuration.
<div id="attachment_10697" style="width: 879px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-drag-and-drop.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10697" class="wp-image-10697 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-drag-and-drop.png" alt="Drag and Drop the SSIS API Destination Component" width="869" height="548" srcset="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-drag-and-drop.png 869w, https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-drag-and-drop-300x189.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-drag-and-drop-768x484.png 768w" sizes="(max-width: 869px) 100vw, 869px" /></a><p id="caption-attachment-10697" class="wp-caption-text">Drag and Drop the SSIS API Destination Component</p></div></li>
<li>Double-click on the <strong>API Destination</strong> component to configure it for downloading multiple files from OneDrive.
<ol style="list-style-type: lower-alpha;">
<li>Choose the <strong>Download file</strong> endpoint from the &#8220;Select Table/Endpoint&#8221; dropdown menu.</li>
<li>Please specify the &#8216;FileOverwriteMode&#8217; option as &#8216;AlwaysOverwrite,&#8217; or you can choose &#8216;FailIfExists&#8217; or &#8216;SkipIfExists&#8217; options based on your requirements.<br />
Please refer to the sample screenshot below.</p>
<div id="attachment_10872" style="width: 827px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-configure-settingstab-download-multiplefile-onedrive.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10872" class="size-full wp-image-10872" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-configure-settingstab-download-multiplefile-onedrive.png" alt="SSIS API Destination Component - Configure Settings Tab" width="817" height="674" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-configure-settingstab-download-multiplefile-onedrive.png 817w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-configure-settingstab-download-multiplefile-onedrive-300x247.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-configure-settingstab-download-multiplefile-onedrive-768x634.png 768w" sizes="(max-width: 817px) 100vw, 817px" /></a><p id="caption-attachment-10872" class="wp-caption-text">SSIS API Destination Component &#8211; Configure Settings Tab</p></div></li>
<li>Now, go to the Mappings tab and specify the source columns with the corresponding target properties.<br />
Note: Here We&#8217;re mapping FileID with $$Id and FileNameWithPath with $$ResponseDataFile. You can create mappings based on your Source columns<br />
Please refer to the sample screenshot below</p>
<div id="attachment_10871" style="width: 811px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-onedrive-configure-mappingstab-download-multiplefile.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10871" class="size-full wp-image-10871" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-onedrive-configure-mappingstab-download-multiplefile.png" alt="SSIS API Destination Component - Configure Mappings Tab" width="801" height="500" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-onedrive-configure-mappingstab-download-multiplefile.png 801w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-onedrive-configure-mappingstab-download-multiplefile-300x187.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-onedrive-configure-mappingstab-download-multiplefile-768x479.png 768w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-onedrive-configure-mappingstab-download-multiplefile-436x272.png 436w" sizes="(max-width: 801px) 100vw, 801px" /></a><p id="caption-attachment-10871" class="wp-caption-text">SSIS API Destination Component &#8211; Configure Mappings Tab</p></div></li>
</ol>
</li>
<li>Once you have configured all the mentioned properties above, please click on the &#8220;Preview Data&#8221; button from the Settings tab to initiate the API call. With just a few clicks, we have successfully configured the call to OneDrive using the ZappySys OneDrive Connector for downloading multiple files from OneDrive.<br />
Please refer to the sample screenshot below.</p>
<div id="attachment_10870" style="width: 958px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-onedrive-download-multiplefiles-success.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10870" class="size-full wp-image-10870" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-onedrive-download-multiplefiles-success.png" alt="Download Multiple files from OneDrive" width="948" height="329" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-onedrive-download-multiplefiles-success.png 948w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-onedrive-download-multiplefiles-success-300x104.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-destination-onedrive-download-multiplefiles-success-768x267.png 768w" sizes="(max-width: 948px) 100vw, 948px" /></a><p id="caption-attachment-10870" class="wp-caption-text">Download Multiple files from OneDrive</p></div></li>
</ol>
<h2>Conclusion</h2>
<p>In this blog, we learned how to connect with OneDrive using SSIS API Connection Manager and download single or multiple files from OneDrive using a combination of SSIS components, including 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-api-destination/">SSIS API Destination component</a>, OLE DB Source component, and Derived Column component.</p>
<p>The post <a href="https://zappysys.com/blog/download-files-onedrive-using-ssis/">How to download files from OneDrive using SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to upload files on OneDrive using SSIS</title>
		<link>https://zappysys.com/blog/upload-files-onedrive-using-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Fri, 08 Dec 2023 06:03:06 +0000</pubDate>
				<category><![CDATA[SSIS API Source]]></category>
		<category><![CDATA[SSIS PowerPack]]></category>
		<category><![CDATA[Foreach Loop Container]]></category>
		<category><![CDATA[onedrive]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[ssis advanced file system task]]></category>
		<category><![CDATA[upload files to OneDrive]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=10847</guid>

					<description><![CDATA[<p>Introduction In today&#8217;s data-driven world, the ability to seamlessly integrate and transfer files between different platforms is crucial for efficient business operations. If you&#8217;re a user of SQL Server Integration Services (SSIS) and looking to integrate OneDrive into your data workflow, you&#8217;re in luck. ZappySys SSIS PowerPack offers a powerful OneDrive Connector that makes uploading [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/upload-files-onedrive-using-ssis/">How to upload files on OneDrive 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/2020/08/microsoft-onedrive-logo.png"><img loading="lazy" decoding="async" class="alignleft wp-image-9115" src="https://zappysys.com/blog/wp-content/uploads/2020/08/microsoft-onedrive-logo.png" alt="Download File from OneDrive in SSIS" width="100" height="100" srcset="https://zappysys.com/blog/wp-content/uploads/2020/08/microsoft-onedrive-logo.png 261w, https://zappysys.com/blog/wp-content/uploads/2020/08/microsoft-onedrive-logo-150x150.png 150w" sizes="(max-width: 100px) 100vw, 100px" /></a>In today&#8217;s data-driven world, the ability to seamlessly integrate and transfer files between different platforms is crucial for efficient business operations. If you&#8217;re a user of SQL Server Integration Services (SSIS) and looking to integrate OneDrive into your data workflow, you&#8217;re in luck. ZappySys SSIS PowerPack offers a powerful <a href="https://zappysys.com/api/integration-hub/onedrive-connector/">OneDrive Connector</a> that makes uploading files to OneDrive a breeze. In this guide, we&#8217;ll walk you through the process of uploading files to OneDrive using SSIS and the <a href="https://zappysys.com/api/integration-hub/onedrive-connector/ssis">ZappySys SSIS PowerPack OneDrive Connector</a>.</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 OneDrive with SSIS:</h2>
<p>In this section, we will learn how to configure and use OneDrive Connector in the API Source to upload files on OneDrive.</p>
<ol>
<li>Begin with 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>Now, 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) on the data flow designer surface, and double-click on 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 OneDrive Connector</h2>
<ol>
<li>Use a preinstalled OneDrive Connector from the Popular Connector List or press the Search Online radio button to download OneDrive Connector. Once downloaded simply use it in the configuration:<br />
<a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-template-selection-onedrive-walkthrough.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-10851" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-template-selection-onedrive-walkthrough.png" alt="ssis onedrive template selection walkthrough" width="783" height="719" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-template-selection-onedrive-walkthrough.png 783w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-template-selection-onedrive-walkthrough-300x275.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-template-selection-onedrive-walkthrough-768x705.png 768w" sizes="(max-width: 783px) 100vw, 783px" /></a></li>
<li>Proceed with selecting the desired Authentication Type. Then select API Base URL (in most cases default one is the right one). Finally, fill in all the required parameters and set optional parameters if needed.</li>
<li>After configuring all the required properties in the API Connection Manager, please click on the &#8220;Test Connection&#8221; button to confirm that the connection is established successfully.<br />
<h3>Method1: Connect to OneDrive using User Credentials [OAuth]</h3>
<p>You may press a link <a href="https://zappysys.com/api/integration-hub/onedrive-connector/help/authentication/UserCreds"><strong>Steps to Configure</strong></a> which will help set certain parameters.</p>
<div id="attachment_10850" style="width: 755px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-generate-token-user-credentials.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10850" class="wp-image-10850 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-generate-token-user-credentials.png" alt="SSIS API Source - Generate Token - OneDrive with User Credentials" width="745" height="784" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-generate-token-user-credentials.png 745w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-generate-token-user-credentials-285x300.png 285w" sizes="(max-width: 745px) 100vw, 745px" /></a><p id="caption-attachment-10850" class="wp-caption-text">SSIS API Source &#8211; Generate Token &#8211; OneDrive with User Credentials</p></div>
<h3>Method2: Connect to OneDrive using Application Credentials [OAuth]</h3>
<p>You may press a link <a href="https://zappysys.com/api/integration-hub/onedrive-connector/help/authentication/AppCreds"><strong>Steps to Configure</strong></a> which will help set certain parameters.</p>
<div id="attachment_10849" style="width: 876px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-application-creds-generate-token.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10849" class="size-full wp-image-10849" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-application-creds-generate-token.png" alt="SSIS API Source - Generate Token - OneDrive with Application Credentials" width="866" height="773" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-application-creds-generate-token.png 866w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-application-creds-generate-token-300x268.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-application-creds-generate-token-768x686.png 768w" sizes="(max-width: 866px) 100vw, 866px" /></a><p id="caption-attachment-10849" class="wp-caption-text">SSIS API Source &#8211; Generate Token &#8211; OneDrive with Application Credentials</p></div></li>
</ol>
<h2>How to upload a local file to OneDrive</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 OneDrive.</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>SourceFilePath</strong> parameter.</li>
<li>Specify the desired Target Path by setting the <strong>TargetFilePath</strong> parameter.</li>
</ol>
<p>Please refer to the sample screenshot below.</p>
<div id="attachment_10852" style="width: 685px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-single-file-upload.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10852" class="size-full wp-image-10852" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-single-file-upload.png" alt="SSIS API Source - OneDrive - Upload Single File" width="675" height="808" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-single-file-upload.png 675w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-single-file-upload-251x300.png 251w" sizes="(max-width: 675px) 100vw, 675px" /></a><p id="caption-attachment-10852" class="wp-caption-text">SSIS API Source &#8211; OneDrive &#8211; Upload Single File</p></div>
<p>Once you have configured all the mentioned properties above, please click on the &#8220;Preview Data&#8221; button to initiate the API call. With just a few clicks, we have successfully configured the call to OneDrive using the <strong>ZappySys OneDrive Connector</strong> for uploading a local file to OneDrive.</p>
<h2>How to upload multiple files to OneDrive</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 OneDrive. 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) on the data flow designer surface, and double-click on 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 OneDrive.
<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>Please specify the desired SSIS Variable [varFileName] containing the uploaded file name by setting the <strong>TargetFilePath</strong> parameter.</li>
<li>To specify the desired local SSIS variable [varFullFilePath], which holds the file path, set the <strong>SourceFilePath</strong> parameter.<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 OneDrive, please set the folderName in the <strong>TargetFilePath </strong>parameter.</li>
</ol>
<p>Please refer to the sample screenshot below.</p>
<div id="attachment_10857" style="width: 833px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-multiple-files-upload.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10857" class="size-full wp-image-10857" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-multiple-files-upload.png" alt="SSIS API Source - OneDrive - Upload Multiple files configuration" width="823" height="619" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-multiple-files-upload.png 823w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-multiple-files-upload-300x226.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-api-source-onedrive-multiple-files-upload-768x578.png 768w" sizes="(max-width: 823px) 100vw, 823px" /></a><p id="caption-attachment-10857" class="wp-caption-text">SSIS API Source &#8211; OneDrive &#8211; 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, you can execute the SSIS Package and check the execution to upload multiple files on OneDrive. Below is the sample screenshot attached.<br />
<a href="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-uploaded-multiple-files-onedrive.png"><img loading="lazy" decoding="async" class="size-medium_large wp-image-10859" src="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-uploaded-multiple-files-onedrive-768x274.png" alt="Multiple files uploaded on OneDrive using SSIS" width="720" height="257" srcset="https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-uploaded-multiple-files-onedrive-768x274.png 768w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-uploaded-multiple-files-onedrive-300x107.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-uploaded-multiple-files-onedrive-1024x365.png 1024w, https://zappysys.com/blog/wp-content/uploads/2023/12/ssis-uploaded-multiple-files-onedrive.png 1317w" sizes="(max-width: 720px) 100vw, 720px" /></a><br />
<span style="font-size: 14px;">Multiple files uploaded on OneDrive using SSIS</span></p>
<p>With just a few clicks, we have successfully configured the call to OneDrive using the <strong>ZappySys OneDrive Connector</strong> for uploading multiple files to OneDrive.</li>
</ol>
<h2>Conclusion</h2>
<p>In this blog, we learned how to connect with OneDrive using SSIS API Connection Manager and upload single or multiple files to OneDrive using a combination of SSIS components, including 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>
<p>The post <a href="https://zappysys.com/blog/upload-files-onedrive-using-ssis/">How to upload files on OneDrive using SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to download files from Google Drive using SSIS</title>
		<link>https://zappysys.com/blog/download-files-google-drive-using-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Sun, 05 Nov 2023 10:28:32 +0000</pubDate>
				<category><![CDATA[Google API]]></category>
		<category><![CDATA[SSIS API Source]]></category>
		<category><![CDATA[SSIS Components]]></category>
		<category><![CDATA[SSIS PowerPack]]></category>
		<category><![CDATA[Google APIs]]></category>
		<category><![CDATA[Google Drive]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[SSIS API Destination]]></category>
		<category><![CDATA[SSIS Google Drive Connector]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=10649</guid>

					<description><![CDATA[<p>Introduction In today&#8217;s data-driven world, the ability to seamlessly integrate and transfer files between different platforms is crucial for efficient business operations. If you&#8217;re a user of SQL Server Integration Services (SSIS) and looking to integrate Google Drive into your data workflow, you&#8217;re in luck. ZappySys SSIS PowerPack offers a powerful Google Drive Connector that [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/download-files-google-drive-using-ssis/">How to download files from Google Drive using SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2023/11/google_drive_logo.png"><img loading="lazy" decoding="async" class="alignleft wp-image-11097" src="https://zappysys.com/blog/wp-content/uploads/2023/11/google_drive_logo-150x150.png" alt="" width="106" height="100" srcset="https://zappysys.com/blog/wp-content/uploads/2023/11/google_drive_logo-300x284.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/11/google_drive_logo-768x727.png 768w, https://zappysys.com/blog/wp-content/uploads/2023/11/google_drive_logo.png 980w" sizes="(max-width: 106px) 100vw, 106px" /></a>In today&#8217;s data-driven world, the ability to seamlessly integrate and transfer files between different platforms is crucial for efficient business operations. If you&#8217;re a user of SQL Server Integration Services (SSIS) and looking to integrate Google Drive into your data workflow, you&#8217;re in luck. ZappySys SSIS PowerPack offers a powerful <a href="https://zappysys.com/api/integration-hub/google-drive-connector/">Google Drive Connector</a> that makes downloading files from Google Drive a breeze. In this guide, we&#8217;ll walk you through the process of downloading files from Google Drive using SSIS and the <a href="https://zappysys.com/api/integration-hub/google-drive-connector/ssis">ZappySys SSIS PowerPack Google Drive Connector</a>.</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>Download files from Google Drive with SSIS:</h2>
<p>In this section, we will learn how to configure and use Google Drive Connector in the API Source &amp; API Destination to download files from Google Drive.</p>
<ol>
<li>Begin with 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>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2023/08/zappysys-ssis-project-with-toolbox.png">-`<img loading="lazy" decoding="async" class="alignnone 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><br />
<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>Now, 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) on the data flow designer surface, and double-click on 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 Google Drive Connector</h2>
<ol>
<li>Use a preinstalled Google Drive Connector from the Popular Connector List or press the Search Online radio button to download Google Drive Connector. Once downloaded simply use it in the configuration:<br />
<a href="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-template-selection-googledrive-walkthrough.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-10354" src="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-template-selection-googledrive-walkthrough.png" alt="ssis googledrive template selection walkthrough" width="781" height="686" srcset="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-template-selection-googledrive-walkthrough.png 781w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-template-selection-googledrive-walkthrough-300x264.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-template-selection-googledrive-walkthrough-768x675.png 768w" sizes="(max-width: 781px) 100vw, 781px" /></a></li>
<li>Proceed with selecting the desired Authentication Type. Then select API Base URL (in most cases default one is the right one). Finally, fill in all the required parameters and set optional parameters if needed.</li>
<li>After configuring all the required properties in the API Connection Manager, please click on the &#8220;Test Connection&#8221; button to confirm that the connection is established successfully.<br />
<h3>Method1: Connect to Google Drive using User Account [OAuth]</h3>
<p>You may press a link <a href="https://zappysys.com/api/integration-hub/google-drive-connector/help/authentication/OAuth"><strong>Steps to Configure</strong></a> which will help set certain parameters.</p>
<div id="attachment_10355" style="width: 876px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-generate-token.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10355" class="size-full wp-image-10355" src="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-generate-token.png" alt="SSIS API Source - Generate Token - Google Drive with User Account" width="866" height="773" srcset="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-generate-token.png 866w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-generate-token-300x268.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-generate-token-768x686.png 768w" sizes="(max-width: 866px) 100vw, 866px" /></a><p id="caption-attachment-10355" class="wp-caption-text">SSIS API Source &#8211; Generate Token &#8211; Google Drive with User Account</p></div>
<h3>Method2: Connect to Google Drive using Service Account [OAuth]</h3>
<p>You may press a link <a href="https://zappysys.com/api/integration-hub/google-drive-connector/help/authentication/ServiceAccount"><strong>Steps to Configure</strong></a> which will help set certain parameters.</p>
<div id="attachment_10353" style="width: 876px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-serviceaccount-generate-token.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10353" class="size-full wp-image-10353" src="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-serviceaccount-generate-token.png" alt="SSIS API Source - Generate Token - Google Drive with Service Account" width="866" height="773" srcset="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-serviceaccount-generate-token.png 866w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-serviceaccount-generate-token-300x268.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-serviceaccount-generate-token-768x686.png 768w" sizes="(max-width: 866px) 100vw, 866px" /></a><p id="caption-attachment-10353" class="wp-caption-text">SSIS API Source &#8211; Generate Token &#8211; Google Drive with Service Account</p></div></li>
</ol>
<h2>How to download a single file from Google Drive</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 download the single file from Google Drive.</p>
<ol>
<li>Choose the <strong>Download a file</strong> endpoint from the &#8220;Select Table/Endpoint&#8221; dropdown menu.</li>
<li>To access detailed API documentation for downloading files, you can click on the following link: <a href="https://developers.google.com/drive/api/reference/rest/v3/files/get"><strong>Help for: Download a File</strong></a>.</li>
<li>Please choose a File ID from the drop-down menu to indicate which file you wish to download. This is an essential parameter for the download process.</li>
<li>Please indicate the desired filename for the file being downloaded by setting the <strong>FileName</strong> parameter.</li>
<li>If you intend to replace the local file with the one being downloaded, please select the &#8216;<strong>AlwaysOverwrite</strong>&#8216; option from the dropdown menu labeled &#8216;<strong>FileOverwriteMode</strong>&#8216;. Alternatively, you can choose &#8216;FileIfExists&#8217; or &#8216;SkipIfExists&#8217; based on your specific needs.</li>
</ol>
<p>Please refer to the sample screenshot below.</p>
<div id="attachment_10690" style="width: 896px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-source-googledrive-single-file-download.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10690" class="wp-image-10690 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-source-googledrive-single-file-download.png" alt="SSIS API Source - Google Drive - Download Single File" width="886" height="603" srcset="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-source-googledrive-single-file-download.png 886w, https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-source-googledrive-single-file-download-300x204.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-source-googledrive-single-file-download-768x523.png 768w" sizes="(max-width: 886px) 100vw, 886px" /></a><p id="caption-attachment-10690" class="wp-caption-text">SSIS API Source &#8211; Google Drive &#8211; Download Single File</p></div>
<p>Once you have configured all the mentioned properties above, please click on the &#8220;Preview Data&#8221; button to initiate the API call. With just a few clicks, we have successfully configured the call to Google Drive using the <strong>ZappySys Google Drive Connector</strong> for downloading a Single file from Google Drive.</p>
<h2>How to download multiple files from Google Drive</h2>
<p>In the API Destination Component, we have chosen the API Connection Manager. Now, we must proceed to configure the remaining properties of the component to facilitate the download of multiple files from Google Drive. Additionally, we should make use of an OLE DB Source and Derived Column component to map the files for the download process.</p>
<ol>
<li>Drag and drop the OLE DB Source Component from the SSIS Toolbox. Double-click on the OLE DB Source Component to initiate its configuration.
<div id="attachment_7289" style="width: 515px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/06/oledb-source-drag-and-drop.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7289" class="wp-image-7289 size-full" src="https://zappysys.com/blog/wp-content/uploads/2019/06/oledb-source-drag-and-drop.png" alt="OLE DB Source - Drag and Drop" width="505" height="190" srcset="https://zappysys.com/blog/wp-content/uploads/2019/06/oledb-source-drag-and-drop.png 505w, https://zappysys.com/blog/wp-content/uploads/2019/06/oledb-source-drag-and-drop-300x113.png 300w" sizes="(max-width: 505px) 100vw, 505px" /></a><p id="caption-attachment-7289" class="wp-caption-text">OLE DB Source &#8211; Drag and Drop</p></div></li>
<li>Create a new OLE DB Connection Manager and configure your SQL Server settings for the connection. Next, select the Data access mode, specify the name of the table or view, or write an SQL Command. Afterward, click on the &#8216;Preview&#8217; button to view a preview and check the &#8216;Columns&#8217; tab for the source columns.
<div id="attachment_10693" style="width: 835px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-oledb-source-read-googledrive-filesdata-sql.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10693" class="size-full wp-image-10693" src="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-oledb-source-read-googledrive-filesdata-sql.png" alt="SSIS OLE DB Source - Configure SQL Connection and fetch the table data" width="825" height="717" srcset="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-oledb-source-read-googledrive-filesdata-sql.png 825w, https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-oledb-source-read-googledrive-filesdata-sql-300x261.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-oledb-source-read-googledrive-filesdata-sql-768x667.png 768w" sizes="(max-width: 825px) 100vw, 825px" /></a><p id="caption-attachment-10693" class="wp-caption-text">SSIS OLE DB Source &#8211; Configure SQL Connection and fetch the table data</p></div></li>
<li>Next, drag and drop the Derived Column Component from the SSIS Toolbox. Double-click on the Derived Column Component to begin its configuration.
<div id="attachment_10219" style="width: 503px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2020/12/ssis-drag-and-drop-derived-column.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10219" class="size-full wp-image-10219" src="https://zappysys.com/blog/wp-content/uploads/2020/12/ssis-drag-and-drop-derived-column.png" alt="Drag and drop the Derived Column" width="493" height="345" srcset="https://zappysys.com/blog/wp-content/uploads/2020/12/ssis-drag-and-drop-derived-column.png 493w, https://zappysys.com/blog/wp-content/uploads/2020/12/ssis-drag-and-drop-derived-column-300x210.png 300w" sizes="(max-width: 493px) 100vw, 493px" /></a><p id="caption-attachment-10219" class="wp-caption-text">Drag and drop the Derived Column</p></div></li>
<li>Now, add a new Derived Column by setting the expression to concatenate FilePath and FileName. Click &#8216;OK&#8217; to save the configuration.
<div id="attachment_10695" style="width: 869px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-derived-column-add-newcolumn-set-expression.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10695" class="wp-image-10695 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-derived-column-add-newcolumn-set-expression.png" alt="SSIS Derived Column - Add New Column &amp; Set Expression" width="859" height="622" srcset="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-derived-column-add-newcolumn-set-expression.png 859w, https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-derived-column-add-newcolumn-set-expression-300x217.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-derived-column-add-newcolumn-set-expression-768x556.png 768w" sizes="(max-width: 859px) 100vw, 859px" /></a><p id="caption-attachment-10695" class="wp-caption-text">SSIS Derived Column &#8211; Add New Column &amp; Set Expression</p></div></li>
<li>Now, drag and drop the API Destination Component from the SSIS Toolbox. Double-click on the API Destination Component to begin its configuration.
<div id="attachment_10697" style="width: 879px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-drag-and-drop.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10697" class="wp-image-10697 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-drag-and-drop.png" alt="Drag and Drop the SSIS API Destination Component" width="869" height="548" srcset="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-drag-and-drop.png 869w, https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-drag-and-drop-300x189.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-drag-and-drop-768x484.png 768w" sizes="(max-width: 869px) 100vw, 869px" /></a><p id="caption-attachment-10697" class="wp-caption-text">Drag and Drop the SSIS API Destination Component</p></div></li>
<li>Double-click on the <strong>API Destination</strong> component to configure it for uploading multiple files to Google Drive.
<ol style="list-style-type: lower-alpha;">
<li>Choose the <strong>Download a file</strong> endpoint from the &#8220;Select Table/Endpoint&#8221; dropdown menu.</li>
<li>To access detailed API documentation for downloading files, you can click on the following link: <a href="https://developers.google.com/drive/api/reference/rest/v3/files/get"><strong>Help for: Download File</strong></a>.</li>
<li>Please specify the &#8216;FileOverwriteMode&#8217; option as &#8216;AlwaysOverwrite,&#8217; or you can choose &#8216;FailIfExists&#8217; or &#8216;SkipIfExists&#8217; options based on your requirements.<br />
Please refer to the sample screenshot below.</p>
<div id="attachment_10700" style="width: 816px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-configure-settingstab-download-multiplefile.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10700" class="wp-image-10700 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-configure-settingstab-download-multiplefile.png" alt="SSIS API Destination Component - Configure Settings Tab" width="806" height="669" srcset="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-configure-settingstab-download-multiplefile.png 806w, https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-configure-settingstab-download-multiplefile-300x249.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-configure-settingstab-download-multiplefile-768x637.png 768w" sizes="(max-width: 806px) 100vw, 806px" /></a><p id="caption-attachment-10700" class="wp-caption-text">SSIS API Destination Component &#8211; Configure Settings Tab</p></div></li>
<li>Now, go to the Mappings tab and specify the source columns with the corresponding target properties.<br />
Note: Here We&#8217;re mapping FileID with $$Id and FileNameWithPath with $$ResponseDataFile. You can create mappings based on your Source columns<br />
Please refer to the sample screenshot below</p>
<div id="attachment_10699" style="width: 646px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-configure-mappingstab-download-multiplefile.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10699" class="wp-image-10699 size-full" src="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-configure-mappingstab-download-multiplefile.png" alt="SSIS API Destination Component - Configure Mappings Tab" width="636" height="442" srcset="https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-configure-mappingstab-download-multiplefile.png 636w, https://zappysys.com/blog/wp-content/uploads/2023/10/ssis-api-destination-configure-mappingstab-download-multiplefile-300x208.png 300w" sizes="(max-width: 636px) 100vw, 636px" /></a><p id="caption-attachment-10699" class="wp-caption-text">SSIS API Destination Component &#8211; Configure Mappings Tab</p></div></li>
</ol>
</li>
<li>Once you have configured all the mentioned properties above, please click on the &#8220;Preview Data&#8221; button from the Settings tab to initiate the API call. With just a few clicks, we have successfully configured the call to Google Drive using the ZappySys Google Drive Connector for downloading multiple files from Google Drive.<br />
Please refer to the sample screenshot below.</p>
<div id="attachment_10705" style="width: 1191px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/11/ssis-api-destination-download-multiplefiles-success.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10705" class="size-full wp-image-10705" src="https://zappysys.com/blog/wp-content/uploads/2023/11/ssis-api-destination-download-multiplefiles-success.png" alt="Download Multiple files from Google Drive" width="1181" height="381" srcset="https://zappysys.com/blog/wp-content/uploads/2023/11/ssis-api-destination-download-multiplefiles-success.png 1181w, https://zappysys.com/blog/wp-content/uploads/2023/11/ssis-api-destination-download-multiplefiles-success-300x97.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/11/ssis-api-destination-download-multiplefiles-success-768x248.png 768w, https://zappysys.com/blog/wp-content/uploads/2023/11/ssis-api-destination-download-multiplefiles-success-1024x330.png 1024w" sizes="(max-width: 1181px) 100vw, 1181px" /></a><p id="caption-attachment-10705" class="wp-caption-text">Download Multiple files from Google Drive</p></div></li>
</ol>
<h2>Conclusion</h2>
<p>In this blog, we learned how to connect with Google Drive using SSIS API Connection Manager and download single or multiple files from Google Drive using a combination of SSIS components, including 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-api-destination/">SSIS API Destination component</a>, OLE DB Source component, and Derived Column component.</p>
<p>The post <a href="https://zappysys.com/blog/download-files-google-drive-using-ssis/">How to download files from Google Drive using SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to upload files on Google Drive using SSIS</title>
		<link>https://zappysys.com/blog/upload-files-google-drive-using-ssis/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Thu, 07 Sep 2023 12:18:50 +0000</pubDate>
				<category><![CDATA[Google API]]></category>
		<category><![CDATA[SSIS API Source]]></category>
		<category><![CDATA[SSIS PowerPack]]></category>
		<category><![CDATA[Foreach Loop Container]]></category>
		<category><![CDATA[google api]]></category>
		<category><![CDATA[Google Drive]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[ssis advanced file system task]]></category>
		<category><![CDATA[upload files]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=10255</guid>

					<description><![CDATA[<p>Introduction In today&#8217;s data-driven world, the ability to seamlessly integrate and transfer files between different platforms is crucial for efficient business operations. If you&#8217;re a user of SQL Server Integration Services (SSIS) and looking to integrate Google Drive into your data workflow, you&#8217;re in luck. ZappySys SSIS PowerPack offers a powerful Google Drive Connector that [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/upload-files-google-drive-using-ssis/">How to upload files on Google Drive 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/2023/11/google_drive_logo.png"><img loading="lazy" decoding="async" class="alignleft wp-image-11097" src="https://zappysys.com/blog/wp-content/uploads/2023/11/google_drive_logo-300x284.png" alt="" width="106" height="100" srcset="https://zappysys.com/blog/wp-content/uploads/2023/11/google_drive_logo-300x284.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/11/google_drive_logo-768x727.png 768w, https://zappysys.com/blog/wp-content/uploads/2023/11/google_drive_logo.png 980w" sizes="(max-width: 106px) 100vw, 106px" /></a>In today&#8217;s data-driven world, the ability to seamlessly integrate and transfer files between different platforms is crucial for efficient business operations. If you&#8217;re a user of SQL Server Integration Services (SSIS) and looking to integrate Google Drive into your data workflow, you&#8217;re in luck. ZappySys SSIS PowerPack offers a powerful <a href="https://zappysys.com/api/integration-hub/google-drive-connector/">Google Drive Connector</a> that makes uploading files to Google Drive a breeze. In this guide, we&#8217;ll walk you through the process of uploading files to Google Drive using SSIS and the <a href="https://zappysys.com/api/integration-hub/google-drive-connector/ssis">ZappySys SSIS PowerPack Google Drive Connector</a>.</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 Google Drive with SSIS:</h2>
<p>In this section, we will learn how to configure and use Google Drive Connector in the API Source to upload files on Google Drive.</p>
<ol>
<li>Begin with 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>Now, 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) on the data flow designer surface, and double-click on 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 Google Drive Connector</h2>
<ol>
<li>Use a preinstalled Google Drive Connector from the Popular Connector List or press the Search Online radio button to download Google Drive Connector. Once downloaded simply use it in the configuration:<br />
<a href="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-template-selection-googledrive-walkthrough.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-10354" src="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-template-selection-googledrive-walkthrough.png" alt="ssis googledrive template selection walkthrough" width="781" height="686" srcset="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-template-selection-googledrive-walkthrough.png 781w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-template-selection-googledrive-walkthrough-300x264.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-template-selection-googledrive-walkthrough-768x675.png 768w" sizes="(max-width: 781px) 100vw, 781px" /></a></li>
<li>Proceed with selecting the desired Authentication Type. Then select API Base URL (in most cases default one is the right one). Finally, fill in all the required parameters and set optional parameters if needed.</li>
<li>After configuring all the required properties in the API Connection Manager, please click on the &#8220;Test Connection&#8221; button to confirm that the connection is established successfully.<br />
<h3>Method1: Connect to Google Drive using User Account [OAuth]</h3>
<p>You may press a link <a href="https://zappysys.com/api/integration-hub/google-drive-connector/help/authentication/OAuth"><strong>Steps to Configure</strong></a> which will help set certain parameters.</p>
<div id="attachment_10355" style="width: 876px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-generate-token.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10355" class="size-full wp-image-10355" src="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-generate-token.png" alt="SSIS API Source - Generate Token - Google Drive with User Account" width="866" height="773" srcset="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-generate-token.png 866w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-generate-token-300x268.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-generate-token-768x686.png 768w" sizes="(max-width: 866px) 100vw, 866px" /></a><p id="caption-attachment-10355" class="wp-caption-text">SSIS API Source &#8211; Generate Token &#8211; Google Drive with User Account</p></div>
<h3>Method2: Connect to Google Drive using Service Account [OAuth]</h3>
<p>You may press a link <a href="https://zappysys.com/api/integration-hub/google-drive-connector/help/authentication/ServiceAccount"><strong>Steps to Configure</strong></a> which will help set certain parameters.</p>
<div id="attachment_10353" style="width: 876px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-serviceaccount-generate-token.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10353" class="size-full wp-image-10353" src="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-serviceaccount-generate-token.png" alt="SSIS API Source - Generate Token - Google Drive with Service Account" width="866" height="773" srcset="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-serviceaccount-generate-token.png 866w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-serviceaccount-generate-token-300x268.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-serviceaccount-generate-token-768x686.png 768w" sizes="(max-width: 866px) 100vw, 866px" /></a><p id="caption-attachment-10353" class="wp-caption-text">SSIS API Source &#8211; Generate Token &#8211; Google Drive with Service Account</p></div></li>
</ol>
<h2>How to upload a local file to Google Drive</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 Google Drive.</p>
<ol>
<li>Choose the <strong>Upload a file</strong> endpoint from the &#8220;Select Table/Endpoint&#8221; dropdown menu.</li>
<li>To access detailed API documentation for uploading files, you can click on the following link: <a href="https://developers.google.com/drive/api/reference/rest/v3/files/create"><strong>Help for: Upload File</strong></a>.</li>
<li>Please specify the desired filename for the uploaded file by setting the <strong>FileName</strong> parameter.</li>
<li>Specify the desired local file path by setting the <strong>DiskFilePath</strong> parameter.</li>
<li>If you wish to upload the local file to a specific folder in Google Drive, please choose the folder ID from the dropdown menu labeled <strong>ParentFolderId</strong>. Otherwise, you can skip this parameter as it&#8217;s optional.</li>
</ol>
<p>Please refer to the sample screenshot below.</p>
<div id="attachment_10357" style="width: 896px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-single-file-upload.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10357" class="size-full wp-image-10357" src="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-single-file-upload.png" alt="SSIS API Source - Google Drive - Upload Single File" width="886" height="603" srcset="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-single-file-upload.png 886w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-single-file-upload-300x204.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-single-file-upload-768x523.png 768w" sizes="(max-width: 886px) 100vw, 886px" /></a><p id="caption-attachment-10357" class="wp-caption-text">SSIS API Source &#8211; Google Drive &#8211; Upload Single File</p></div>
<p>Once you have configured all the mentioned properties above, please click on the &#8220;Preview Data&#8221; button to initiate the API call. With just a few clicks, we have successfully configured the call to Google Drive using the <strong>ZappySys Google Drive Connector</strong> for uploading a local file to Google Drive.</p>
<h2>How to upload multiple files to Google Drive</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 Google Drive. 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_10374" style="width: 716px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-dataflow-task-inside-foreachloop-container-googledrive-multiplefiles-upload.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10374" class="size-full wp-image-10374" src="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-dataflow-task-inside-foreachloop-container-googledrive-multiplefiles-upload.png" alt="SSIS Data Flow Task - Drag &amp; Drop inside Foreach Loop Container" width="706" height="420" srcset="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-dataflow-task-inside-foreachloop-container-googledrive-multiplefiles-upload.png 706w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-dataflow-task-inside-foreachloop-container-googledrive-multiplefiles-upload-300x178.png 300w" sizes="(max-width: 706px) 100vw, 706px" /></a><p id="caption-attachment-10374" 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) on the data flow designer surface, and double click on 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 Google Drive.
<ol style="list-style-type: lower-alpha;">
<li>Choose the <strong>Upload a file</strong> endpoint from the &#8220;Select Table/Endpoint&#8221; dropdown menu.</li>
<li>To access detailed API documentation for uploading files, you can click on the following link: <a href="https://developers.google.com/drive/api/reference/rest/v3/files/create"><strong>Help for: Upload File</strong></a>.</li>
<li>Please specify the desired SSIS Variable [varFileName] which contains file name for the uploaded file by setting the <strong>FileName</strong> parameter.</li>
<li>To specify the desired local SSIS variable [varFullFilePath], which holds the file path, set the <strong>DiskFilePath</strong> parameter.<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 Google Drive, please choose the folder ID from the dropdown menu labeled <strong>ParentFolderId</strong>. Otherwise, you can skip this parameter as it&#8217;s optional.</li>
</ol>
<p>Please refer to the sample screenshot below.</p>
<div id="attachment_10369" style="width: 896px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-multiple-files-upload.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-10369" class="size-full wp-image-10369" src="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-multiple-files-upload.png" alt="SSIS API Source - Google Drive - Upload Multiple files - configuration" width="886" height="603" srcset="https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-multiple-files-upload.png 886w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-multiple-files-upload-300x204.png 300w, https://zappysys.com/blog/wp-content/uploads/2023/09/ssis-api-source-googledrive-multiple-files-upload-768x523.png 768w" sizes="(max-width: 886px) 100vw, 886px" /></a><p id="caption-attachment-10369" class="wp-caption-text">SSIS API Source &#8211; Google Drive &#8211; 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 image below.</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. With just a few clicks, we have successfully configured the call to Google Drive using the <strong>ZappySys Google Drive Connector</strong> for uploading multiple files to Google Drive.</li>
</ol>
<h2>Conclusion</h2>
<p>In this blog, we learned how to connect with Google Drive using SSIS API Connection Manager and upload single or multiple files to Google Drive using a combination of SSIS components, including 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>
<p>The post <a href="https://zappysys.com/blog/upload-files-google-drive-using-ssis/">How to upload files on Google Drive using SSIS</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to compare records in SSIS using hash</title>
		<link>https://zappysys.com/blog/compare-records-ssis-using-hash/</link>
		
		<dc:creator><![CDATA[Sudhir Dandale]]></dc:creator>
		<pubDate>Mon, 12 Sep 2022 21:24:11 +0000</pubDate>
				<category><![CDATA[SSIS Conditional Split Transform]]></category>
		<category><![CDATA[SSIS Merge Join Transform]]></category>
		<category><![CDATA[SSIS Sort Transform]]></category>
		<category><![CDATA[SSIS Template Transform]]></category>
		<category><![CDATA[hash]]></category>
		<category><![CDATA[ssis]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=9767</guid>

					<description><![CDATA[<p>Introduction In this blog,  we are going to learn to how to compare records in SSIS using hash method. We will use FREE Template Transform component along with Sort Transform, Merge Join Transform and Conditional Split Transform. We will see how to produce hash value from multiple columns and later compare source\target hash values to detect changes\new rows. Data [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/compare-records-ssis-using-hash/">How to compare records in SSIS using hash</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><span id="Introduction">Introduction</span></h2>
<p>In this blog,  we are going to learn to how to compare records in SSIS using hash method. We will use <strong>FREE</strong> <a href="https://zappysys.com/products/ssis-powerpack/ssis-template-transform-free/" target="_blank" rel="noopener">Template Transform</a> component along with Sort Transform, Merge Join Transform and Conditional Split Transform. We will see how to produce hash value from multiple columns and later compare source\target hash values to detect changes\new rows.</p>
<div class="content_block" id="custom_post_widget-2523"><h2><span id="Prerequisites">Prerequisites</span></h2>
<p>Before we perform the steps listed in this article, you will need to make sure the following prerequisites are met:</p>
<ol 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&#8217;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><span style="font-size: 18pt;">Data Hashing</span></h2>
<p>Here is sample design how to compare records using hash method</p>
<p><img decoding="async" src="https://zappysys.zendesk.com/attachments/token/ZMuL8AR6RmIydJWOP5X6qIDCw/?name=image.png" /></p>
<ol>
<li>In Step 1, we need two data tables for record comparison from source and destination.<strong>Source Data:</strong><br />
<a href="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-1.png"><img loading="lazy" decoding="async" class="alignnone wp-image-9773 size-full" src="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-1.png" alt="" width="342" height="285" srcset="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-1.png 342w, https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-1-300x250.png 300w" sizes="(max-width: 342px) 100vw, 342px" /></a><strong>Target Data:</strong><br />
<a href="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-d.png"><img loading="lazy" decoding="async" class="alignnone wp-image-9774 size-full" src="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-d.png" alt="" width="339" height="285" srcset="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-d.png 339w, https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-d-300x252.png 300w" sizes="(max-width: 339px) 100vw, 339px" /></a></li>
<li>In Step 2, both the source and target data table records would be hash using the ZS Template Transform component as below. You can use <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-format-specifiers.htm#fun_FUN_MD5" target="_blank" rel="noopener">FUN_MD5</a> to produce hash from multiple columns and. Please make sure that you change the Output Column name as below e.g. HashCrm or HashSQL<a href="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-formula.png"><img loading="lazy" decoding="async" class="alignnone wp-image-9775 size-full" src="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-formula.png" alt="" width="836" height="248" srcset="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-formula.png 836w, https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-formula-300x89.png 300w, https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-formula-768x228.png 768w" sizes="(max-width: 836px) 100vw, 836px" /></a></li>
<li>In Step 3, both the source and target data table need to be sorted by primary key using SSIS &#8220;Sort Transformation Editor&#8221; component as shown in above sample design screenshot.</li>
<li>In Step 4, both the source and target data table need to be merge using SSIS &#8220;Merge Join&#8221; component providing appropriate join type and key mapping<br />
as below<a href="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-mergejoin.png"><img loading="lazy" decoding="async" class="alignnone wp-image-9776 size-full" src="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-mergejoin.png" alt="" width="694" height="571" srcset="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-mergejoin.png 694w, https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-mergejoin-300x247.png 300w" sizes="(max-width: 694px) 100vw, 694px" /></a></li>
<li>In Step 4, we adding the conditional split with appropriate condition based on your need e.g. we want to check similar records as below<a href="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-conditionalsplit.png"><img loading="lazy" decoding="async" class="alignnone wp-image-9777 size-full" src="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-conditionalsplit.png" alt="" width="669" height="580" srcset="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-conditionalsplit.png 669w, https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-conditionalsplit-300x260.png 300w" sizes="(max-width: 669px) 100vw, 669px" /></a></li>
<li>From conditional split, we can feed the modified or same records into destination component based on our needs.</li>
<li>This is how we can compare the data for source and target tables for updated records and also we can set up different Merge Join and conditional split for desired set of output records set.</li>
</ol>
<h2>Detect Update/Insert</h2>
<ol>
<li>In previous section, we have chosen the updated records using hash. Here are going to see the Updated/New records using Left Outer Join as below<strong>Left Outer Join</strong><br />
<a href="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-merge-leftjoin.png"><img loading="lazy" decoding="async" class="alignnone wp-image-9781 size-full" src="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-merge-leftjoin.png" alt="" width="694" height="545" srcset="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-merge-leftjoin.png 694w, https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-merge-leftjoin-300x236.png 300w" sizes="(max-width: 694px) 100vw, 694px" /></a></li>
<li>Here is conditional split criteria for Update/New records as below<a href="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-conditionalsplit_new.png"><img loading="lazy" decoding="async" class="alignnone wp-image-9782 size-full" src="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-conditionalsplit_new.png" alt="" width="669" height="578" srcset="https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-conditionalsplit_new.png 669w, https://zappysys.com/blog/wp-content/uploads/2022/09/hash-data-compare-ssis-conditionalsplit_new-300x259.png 300w" sizes="(max-width: 669px) 100vw, 669px" /></a></li>
</ol>
<h2>Conclusion</h2>
<p>In this tutorial we learned how to compare the records in SSIS using hash method. If you want take a look it then download the ZappySys SSIS PowerPack <a href="https://zappysys.com/products/ssis-powerpack/download/" target="_blank" rel="noopener">here</a>.</p>
<p>&nbsp;</p>
<p>The post <a href="https://zappysys.com/blog/compare-records-ssis-using-hash/">How to compare records in SSIS using hash</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How To Connect ADP API using HTTP Connection over OAuth Connection</title>
		<link>https://zappysys.com/blog/connect-adp-api-using-http-connection-oauth-connection/</link>
		
		<dc:creator><![CDATA[Sudhir Dandale]]></dc:creator>
		<pubDate>Thu, 23 Jun 2022 17:35:02 +0000</pubDate>
				<category><![CDATA[REST API]]></category>
		<category><![CDATA[adp]]></category>
		<category><![CDATA[odbc]]></category>
		<category><![CDATA[ssis]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=9687</guid>

					<description><![CDATA[<p>Introduction In this post, we will cover how to connect ADP API using HTTP connection manager over OAuth connection manager with JSON Source. ADP API works a bit differently with the OAuth connection manager. Let&#8217;s take a look at it&#8230; Prerequisites Before we perform the steps listed in this article, you will need to make sure the [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/connect-adp-api-using-http-connection-oauth-connection/">How To Connect ADP API using HTTP Connection over OAuth Connection</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p>In this post, we will cover how to connect ADP API using HTTP connection manager over OAuth connection manager with <a href="https://zappysys.com/products/ssis-powerpack/ssis-json-file-source/" target="_blank" rel="noopener">JSON Source</a>. ADP API works a bit differently with the OAuth connection manager. Let&#8217;s take a look at it&#8230;</p>
<h2><span id="Prerequisites">Prerequisites</span></h2>
<p>Before we perform the steps listed in this article, you will need to make sure the following prerequisites are met:</p>
<ol>
<li><abbr title="SQL Server Integration Services">SSIS</abbr> designer installed. Sometimes it is referred as <abbr title="Business Intelligence Development Studio">BIDS</abbr> or <abbr title="SQL Server Data Tools">SSDT</abbr> (<a href="https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt" target="_blank" rel="noopener">download it from Microsoft site</a>).</li>
<li>Basic knowledge of SSIS package development using <em>Microsoft SQL Server Integration Services</em>.</li>
<li>Make sure <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack</a> is installed (<a href="https://zappysys.com/products/ssis-powerpack/download/" target="_blank" rel="noopener">download it</a>).</li>
<li><strong>Optional</strong> (If you want to Deploy and Schedule ) &#8211; <a href="https://zappysys.zendesk.com/hc/en-us/articles/360035974593" target="_blank" rel="noopener">Deploy and Schedule SSIS Packages</a></li>
<li>Make sure you have ADP Client Id &amp; Secret.</li>
</ol>
<h2><span id="Concepts_about_OAuth_20">What things are needed to connect ADP API</span></h2>
<ol>
<li>You need to have the Client ID and Client Secret before making your ADP API call.</li>
<li>If you don&#8217;t have this information, contact your client representative.</li>
<li>Certificate Signing Request (CSR): For more detailed information, see the Certificate Signing Request: <a href="https://developers.adp.com/articles/general/generate-a-certificate-signing-request">https://developers.adp.com/articles/general/generate-a-certificate-signing-request</a></li>
<li>If you already have the .csr file from your API Settings as below: &#8211;
<div id="attachment_9729" style="width: 531px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2022/06/adp-pem-file-1.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9729" class="wp-image-9729 " src="https://zappysys.com/blog/wp-content/uploads/2022/06/adp-pem-file-1.png" alt=" ADP CSR Certificate" width="521" height="317" srcset="https://zappysys.com/blog/wp-content/uploads/2022/06/adp-pem-file-1.png 686w, https://zappysys.com/blog/wp-content/uploads/2022/06/adp-pem-file-1-300x182.png 300w" sizes="(max-width: 521px) 100vw, 521px" /></a><p id="caption-attachment-9729" class="wp-caption-text">ADP CSR Certificate</p></div>
<p>&nbsp;</li>
<li>Then you need to convert those *.cer + *.key files to *.PFX</li>
<li>We do not support cert+key files but converting to PFX is fairly simple.</li>
<li>You can find many blog posts on how to convert to PFX. Here are some helpful links on how to convert *.pem to *.PFX (i.e. PKCS#12 OR p12 file format)<br />
-https://www.sslshopper.com/ssl-converter.html<br />
-https://stackoverflow.com/questions/808669/convert-a-cert-pem-certificate-to-a-pfx-certificate</li>
<li>Once you have .PFX certificate, Client ID, and Client Secret ready then you can provide these details to the  HTTP Connection manager as below: &#8211;<br />
General Settings: &#8211;</p>
<div id="attachment_9732" style="width: 310px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2022/06/adp-http-connection-manager-general.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9732" class="wp-image-9732 size-medium" src="https://zappysys.com/blog/wp-content/uploads/2022/06/adp-http-connection-manager-general-300x162.png" alt=" ADP HTTP Connection Manager - General Tab" width="300" height="162" srcset="https://zappysys.com/blog/wp-content/uploads/2022/06/adp-http-connection-manager-general-300x162.png 300w, https://zappysys.com/blog/wp-content/uploads/2022/06/adp-http-connection-manager-general-768x415.png 768w, https://zappysys.com/blog/wp-content/uploads/2022/06/adp-http-connection-manager-general.png 898w" sizes="(max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-9732" class="wp-caption-text">ADP HTTP Connection Manager &#8211; General Tab</p></div>
<p>Client Certificate: &#8211;</p>
<div id="attachment_9733" style="width: 310px" class="wp-caption aligncenter"><a href="https://zappysys.com/blog/wp-content/uploads/2022/06/adp-client-certificate-1.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-9733" class="wp-image-9733 size-medium" src="https://zappysys.com/blog/wp-content/uploads/2022/06/adp-client-certificate-1-300x175.png" alt=" ADP CSR Client Certificate Tab" width="300" height="175" srcset="https://zappysys.com/blog/wp-content/uploads/2022/06/adp-client-certificate-1-300x175.png 300w, https://zappysys.com/blog/wp-content/uploads/2022/06/adp-client-certificate-1.png 701w" sizes="(max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-9733" class="wp-caption-text">ADP CSR Client Certificate Tab</p></div>
<ol>
<li style="list-style-type: none;"></li>
</ol>
</li>
<li>After you provide all the required details in HTTP Connection Manager for ADP API.</li>
<li>You can select HTTP Connection manager as the connection provider in the JSON Source/REST API and preview the data.</li>
<li>Here you can connect ADP API successfully using the HTTP connection manager.</li>
</ol>
<p><strong>Note:</strong> By default, when a <strong>PFX file</strong> expires, the <strong>ADFP API</strong> throws a generic <strong>SSL/TLS channel error</strong>, which can be misleading. To verify the certificate’s expiration date, we have to:</p>
<ol>
<li>Import the <strong>PFX file</strong> into the local certificate store (using the same blank password).</li>
<li>Use the <code>mmc</code> command from the Start menu.</li>
<li>Go to <strong>Add/Remove Snap-ins → Certificate → User Store → View Entry</strong> to check the expiration date.</li>
</ol>
<h3>Steps to Convert .cer and .key Files into a .PFX File</h3>
<p>If you have separate <strong>.cer</strong> and <strong>.key</strong> files, you’ll need to convert them into a single <strong>.PFX</strong> file (PKCS#12 format) to use with our tool, as it does not support separate certificate and key files.<br />
Converting to <strong>PFX</strong> is straightforward, and you can find many detailed guides online. Here are some helpful links:</p>
<ul>
<li><a tabindex="-1" href="https://www.sslshopper.com/ssl-converter.html">SSL Converter – sslshopper.com</a></li>
<li><a tabindex="-1" href="https://stackoverflow.com/questions/808669/convert-a-cert-pem-certificate-to-a-pfx-certificate">Convert .pem to .pfx – Stack Overflow</a></li>
</ul>
<h2><span id="Conclusion">Conclusion:</span></h2>
<p>This is how you can successfully connect ADP API using HTTP Connection over OAuth connection using ZappySys JSON Source/REST API.</p>
<p>The post <a href="https://zappysys.com/blog/connect-adp-api-using-http-connection-oauth-connection/">How To Connect ADP API using HTTP Connection over OAuth Connection</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to create SSIS Package Programmatically (Add / Execute Tasks)</title>
		<link>https://zappysys.com/blog/create-ssis-package-programmatically-add-execute-connections-tasks/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Fri, 31 Dec 2021 15:00:01 +0000</pubDate>
				<category><![CDATA[SSIS PowerPack]]></category>
		<category><![CDATA[SSIS SFTP Task]]></category>
		<category><![CDATA[SSIS Tips & How-Tos]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[sftp]]></category>
		<category><![CDATA[ssis]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=9500</guid>

					<description><![CDATA[<p>Introduction In this post, we will see how to create SSIS Package Programmatically to use ZappySys SSIS PowerPack. This blog post assumes you have basic knowledge of Programming language like C# and you have installed Visual Studio Express or a similar product (VS Code not supported). Add SSIS Dll References The very first thing is [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/create-ssis-package-programmatically-add-execute-connections-tasks/">How to create SSIS Package Programmatically (Add / Execute Tasks)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p>In this post, we will see how to create SSIS Package Programmatically to use <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack</a>. This blog post assumes you have basic knowledge of Programming language like C# and you have installed <strong>Visual Studio Express</strong> or a similar product (<strong>VS Code not supported</strong>).</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>Add SSIS Dll References</h2>
<p>The very first thing is to create a C# Project (i.e. Console or WinForm). Add SSIS dll reference.</p>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2021/12/create-ssis-package-programatically-add-dll-reference-visual-studio.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-9503" src="https://zappysys.com/blog/wp-content/uploads/2021/12/create-ssis-package-programatically-add-dll-reference-visual-studio.png" alt="" width="778" height="604" srcset="https://zappysys.com/blog/wp-content/uploads/2021/12/create-ssis-package-programatically-add-dll-reference-visual-studio.png 778w, https://zappysys.com/blog/wp-content/uploads/2021/12/create-ssis-package-programatically-add-dll-reference-visual-studio-300x233.png 300w, https://zappysys.com/blog/wp-content/uploads/2021/12/create-ssis-package-programatically-add-dll-reference-visual-studio-768x596.png 768w" sizes="(max-width: 778px) 100vw, 778px" /></a></p>
<p>You will need the following references in your project. The below example is for SSIS 2017 (Version 14.x.x)</p>
<ul>
<li>For SSIS 2012 change to Version=11.0.0.0</li>
<li>For SSIS 2014 change to Version=12.0.0.0</li>
<li>For SSIS 2016 change to Version=13.0.0.0</li>
<li>For SSIS 2017 change to Version=14.0.0.0</li>
<li>For SSIS 2019 change to Version=15.0.0.0</li>
<li>And may be future versions same way &#8230;.</li>
</ul>
<pre class="crayon-plain-tag">&lt;Reference Include="Microsoft.SqlServer.Dts.Design"/&gt;
&lt;Reference Include="Microsoft.SqlServer.DTSPipelineWrap" /&gt;
&lt;Reference Include="Microsoft.SQLServer.DTSRuntimeWrap" /&gt;
&lt;Reference Include="Microsoft.SQLServer.ManagedDTS" /&gt;
&lt;Reference Include="Microsoft.SqlServer.PipelineHost" /&gt;</pre>
<h2>Step-By-Step Example (Create SSIS Package Programmatically &#8211; C#)</h2>
<p>Now let&#8217;s see each piece to create SSIS Package in code and later we will show the full code.</p>
<h3>Import Namespaces</h3>
<p>First step is at the top you need to import some namespaces.</p><pre class="crayon-plain-tag">using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Pipeline;
//using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
//using Microsoft.SqlServer.Dts.Runtime.Wrapper;</pre><p>
<h3></h3>
<h3>Create SSIS Package</h3>
<p>Here how you can create SSIS Package instance in code</p><pre class="crayon-plain-tag">var p = new Package();</pre><p>
<h3>Add SSIS Connection</h3>
<p>Now lets add connection manager to our package instance. To add connection you will need two pieces. Creation Name (i.e. ZS-SFTP) and ConnectionString. You can find creation name from exsing Dtsx file by opening in text editor.</p><pre class="crayon-plain-tag">var conn1=p.Connections.Add(&quot;ZS-SFTP&quot;);
conn1.Name = &quot;MySftpConnection&quot;;
conn1.ConnectionString= &quot;Protocol=Sftp;ServerName=127.0.0.1;Port=0;LogonType=Normal;UserName=zstest;Password=zstest123&quot;;</pre><p>
<h4>How to find CreationName of SSIS Connection manager</h4>
<p>To find the creation name of your Connection Type open an existing DTSX file where you had similar connection type in the package. Locate node like below and check CrewationName. It can be a friendly name or can be fully qualified assembly name. Both ways is fine but a friendly name is easy to remember.</p><pre class="crayon-plain-tag">&lt;DTS:ConnectionManagers&gt;
  &lt;DTS:ConnectionManager
    DTS:refId="Package.ConnectionManagers[RedshiftConn1]"
    DTS:CreationName="ZS-POSTGRESQL"
    .........
    .........</pre><p>
<h4>How to find ConnectionString</h4>
<p>Now another thing you need to know is the exact connectionstring. You can go to SSIS Designer and right-click on Connection Icon and check Properties Grid. It will show you ConnectionString or you can use the above technique &gt; Open DTSX file in notepad and find connectinstring there.</p>
<p>ConnectionString doesnt include any passwords / secrets. So manually append those properties in your connectionstring when you set in code.</p>
<h3>Add SSIS Task</h3>
<p>Now let&#8217;s add task in our SSIS Package instance. To create SSIS Task programmatically in code, you need to know the exact type name (i.e. creation name). As we discussed earlier check your dtsx file to know the creation name for the task you like to create. In the below code we used a friendly name which is not supported in SSIS 2012 so for that you must use full name. For SSIS 2014 or higher you can use friendly names.</p>
<p>You can also find it in file like this (example of SSIS 2017 and 2019 folders)<br />
C:\Program Files (x86)\Microsoft SQL Server\140\DTS\UpgradeMappings\ZappySys.PowerPack140.Extensions.xml<br />
C:\Program Files (x86)\Microsoft SQL Server\150\DTS\UpgradeMappings\ZappySys.PowerPack150.Extensions.xml</p>
<p>&nbsp;</p><pre class="crayon-plain-tag">//var SSIS_VERSION = "110"; //110=SQL2012, 120=SQL2014, 130=SQL2016, 140=SQL2017, 150=SQL2019
//For SSIS 2012
var SFTP_TASK_2012 = "ZappySys.PowerPack.Task.SecureFtpTask.SecureFtpTask, ZappySys.PowerPack110, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1903265a93eae502";
//For SSIS 2014 or higher
//Goto folder like this and find zappysys extension file 
//(e.g. 140) =&gt; C:\Program Files (x86)\Microsoft SQL Server\140\DTS\UpgradeMappings\ZappySys.PowerPack140.Extensions.xml
//Find Task creation name there
var SFTP_TASK = "ZappySys.SecureFtpTask";

var tsk1 = p.Executables.Add(SFTP_TASK) as TaskHost;
tsk1.Properties["SourceStorageConnection"].SetValue(tsk1, "MySftpConnection");
tsk1.Properties["StorageAction"].SetValue(tsk1, 10); //DownloadFileFromFtp [10] find numeric value for this enum from help file&gt; properties https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-sftp-ftp-ftps-task.htm
tsk1.Properties["SourcePathValue"].SetValue(tsk1, "subfolder/localsubfile1.csv");
tsk1.Properties["TargetPathValue"].SetValue(tsk1, @"c:\temp\");
tsk1.Properties["FileOverwriteAction"].SetValue(tsk1, 2); //OverwriteAll [2]</pre><p>
<h3>Execute SSIS Package</h3>
<p>Now let&#8217;s execute the package using the below line</p><pre class="crayon-plain-tag">var status =p.Execute();</pre><p>
<h3>Check Execution Errors</h3>
<p>At the end you need to check execution errors if any.</p><pre class="crayon-plain-tag">if (status != DTSExecResult.Success)
{
	string errs = p.Errors.Cast&lt;DtsError&gt;().Aggregate("",
           (current, err) =&gt; current + string.Format("Source={0}, Err={1}", err.Source, err.Description));
	throw new Exception("Package status was &gt;&gt; " + status + " &gt;&gt; " + errs);
}</pre><p>
&nbsp;</p>
<h3>Full Code</h3>
<p>Here is the full code</p><pre class="crayon-plain-tag">using System;
using System.Linq;
using System.Runtime.InteropServices;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
using Microsoft.SqlServer.Dts.Runtime;
/*
For SSIS 2012 - Compile with .net 4.0
For SSIS 2014-2017 - Compile with .net 4.5 
For SSIS 2019 - Compile with .net 4.6.2
 */

//current one is SSIS 2017 (140 dlls)
/*
 * References needed for SSIS 2017 , for 2019 change 14.0.0.0 to 15.0.0.0
 * 
    &lt;Reference Include="Microsoft.SqlServer.DtsMsg, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL" /&gt;
    &lt;Reference Include="Microsoft.SqlServer.Dts.Design, Version=14.0.0.0, PublicKeyToken=89845dcd8080cc91" /&gt;
    &lt;Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL" /&gt;
    &lt;Reference Include="Microsoft.SQLServer.DTSRuntimeWrap, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" /&gt;
    &lt;Reference Include="Microsoft.SQLServer.ManagedDTS, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL" /&gt;
    &lt;Reference Include="Microsoft.SqlServer.PipelineHost, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL" /&gt; 
 */
namespace SSISCodeDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            
            //Create_SSIS_Controlflow_Task_Demo();
            Create_SSIS_Dataflow_Source_Component_Demo();

            //Create_SSIS_Connection_Demo();
            //Create_SSIS_Variable_Demo();
            //Create_SSIS_Connect_Tasks_Demo();

        }

        private static void Create_SSIS_Controlflow_Task_Demo()
        {
            var p = new Microsoft.SqlServer.Dts.Runtime.Package();

            var conn1 = p.Connections.Add("ZS-SFTP");
            conn1.Name = "MySftpConnection";
            conn1.ConnectionString = "Protocol=Sftp;ServerName=127.0.0.1;Port=0;LogonType=Normal;UserName=zstest;Password=zstest123";

            //var SSIS_VERSION = "110"; //110=SQL2012, 120=SQL2014, 130=SQL2016, 140=SQL2017, 150=SQL2019
            //For SSIS 2012
            var SFTP_TASK_2012 = "ZappySys.PowerPack.Task.SecureFtpTask.SecureFtpTask, ZappySys.PowerPack110, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1903265a93eae502";
            //For SSIS 2014 or higher
            //Goto folder like this and find zappysys extension file (e.g. 140) =&gt; C:\Program Files (x86)\Microsoft SQL Server\140\DTS\UpgradeMappings\ZappySys.PowerPack140.Extensions.xml
            //Find Task creation name there
            var SFTP_TASK = "ZappySys.SecureFtpTask";

            var tsk1 = p.Executables.Add(SFTP_TASK) as TaskHost;
            tsk1.Name = "SFTP_Task1";
            tsk1.Properties["SourceStorageConnection"].SetValue(tsk1, "MySftpConnection");
            tsk1.Properties["StorageAction"].SetValue(tsk1, 10); //DownloadFileFromFtp [10] find numeric value for this enum from help file&gt; properties https://zappysys.com/onlinehelp/ssis-powerpack/scr/ssis-sftp-ftp-ftps-task.htm
            tsk1.Properties["SourcePathValue"].SetValue(tsk1, "subfolder/localsubfile1.csv");
            tsk1.Properties["TargetPathValue"].SetValue(tsk1, @"c:\temp\");
            tsk1.Properties["FileOverwriteAction"].SetValue(tsk1, 2); //OverwriteAll [2]


            /*
             Go to package file (*.dtsx) &gt; Open in Notepad &gt; and findout which properties set. Do same way (ignore some default proprties)
             Some enum properties needs numeric values &gt; Check Task / Component help file to findout number for that

      &lt;DTS:ObjectData&gt;
        &lt;SecureFtpTask
          StorageAction="DeleteFtpFile"
          FileOverwriteAction="OverwriteAll"
          TreatRegXForFullPath="False"
          ContinueOnError="False"
...................
...................
...................            
            PrefixTimestamp="False" /&gt;
      &lt;/DTS:ObjectData&gt;
    &lt;/DTS:Executable&gt;             
             */

            //Application.

            /* use below code to save to disk file 
            var app = new Microsoft.SqlServer.Dts.Runtime.Application();
            var filepath = @"c:\temp\demo.dtsx";
            app.SaveToXml(filepath, p, null);

            --load from disk to memory
            p = app.LoadPackage(filepath, null);

            */
            var status = p.Execute();

            if (status != DTSExecResult.Success)
            {
                var errs = "";
                foreach (var e in p.Errors)
                {
                    errs = errs + string.Format("Source={0}, Err={1}", e.Source, e.Description) + "\r\n";
                }

                throw new Exception("Package status was &gt;&gt; " + status + " &gt;&gt; " + errs);
            }

            Console.WriteLine("Execution Completed... Press any key to exit!!!");
            Console.ReadKey();
        }
        private static void Create_SSIS_Dataflow_Source_Component_Demo()
        {
            var p = new Microsoft.SqlServer.Dts.Runtime.Package();


            /*============ STEP-1: Create Dataflow Task =========== */

            var tsk1 = p.Executables.Add("STOCK:PipelineTask") as TaskHost;
            var dataFlowTask = tsk1.InnerObject as MainPipe;

            /*============ STEP-2: Create Connection =========== */
            var conn1 = p.Connections.Add("ZS-HTTP");
            conn1.Name = "MyConnection";
            conn1.ConnectionString = "Url=https://httpbin.org/get;CredentialType=Basic;UserName=test;Password=test123";


            /*============ STEP-3: Create Source =========== */
            var sourceComponent = dataFlowTask.ComponentMetaDataCollection.New();

            try
            {
                sourceComponent.ComponentClassID = "ZappySys.JsonSource";
                var sourceInstance = sourceComponent.Instantiate();
                sourceInstance.ProvideComponentProperties();

                sourceComponent.Name = "MySource";
                /**** Special Case for JSON Source - if user wants connection to use then we create Runtime connection. For all other components this is always created when ProvideComponentProperties() is called*/
                if (sourceComponent.RuntimeConnectionCollection.Count &lt;= 0)
                {
                    var dtsRuntimeConnection = sourceComponent.RuntimeConnectionCollection.New();
                    dtsRuntimeConnection.Name = "Connection"; 
                    //dtsRuntimeConnection.Description = "This can be ZS-HTTP, ZS-OAUTH or ZS-SALESFORCE";
                }
                sourceComponent.RuntimeConnectionCollection[0].ConnectionManager = DtsConvert.GetExtendedInterface(conn1);
                sourceComponent.RuntimeConnectionCollection[0].ConnectionManagerID = conn1.ID;

                sourceInstance.SetComponentProperty("UseConnection", true);//JsonSource specific -- for all other components connection always used
                sourceInstance.SetComponentProperty("DirectPath", "https://httpbin.org/basic-auth/test/test123");
                //sourceInstance.SetComponentProperty("Filter", "$.value[*]");

                //make connection active before next step
                sourceInstance.AcquireConnections(null);

                //after connection + props set ... call ReInitialize meta... it creates columns / output / input etc
                sourceInstance.ReinitializeMetaData(); 
            }
            catch (COMException ex)
            {
                throw new Exception("Error Happened ==&gt; " + sourceComponent.GetErrorDescription(ex.ErrorCode));
            }




            /*============ STEP-4: Create Target (without Reinitialize) =========== */

            var targetComponent = dataFlowTask.ComponentMetaDataCollection.New();
            CManagedComponentWrapper targetInstance=null;
            try
            {
                targetComponent.ComponentClassID = "ZappySys.TrashDestination";
                targetInstance = targetComponent.Instantiate();
                targetInstance.ProvideComponentProperties();

                targetComponent.Name = "MyDestination";

                targetInstance.SetComponentProperty("SaveDataToFile", true);
                targetInstance.SetComponentProperty("FilePath", @"c:\temp\dump.txt");
                targetInstance.SetComponentProperty("OverwriteFileIfExists", true);

                //--- Trash destination doesnt have connection but incase destination uses connection... set below way
                //if you have connection then set this way
                //var conn2 = p.Connections.Add("....."); //Creation name i.e. ZS-HTTP
                //conn2.Name = "MyConnection2";
                //conn3.ConnectionString = "Url=https://httpbin.org/get;CredentialType=Basic;UserName=test;Password=test123";
                //if (targetComponent.RuntimeConnectionCollection.Count &lt;= 0)
                //{
                //    var dtsRuntimeConnection = targetComponent.RuntimeConnectionCollection.New();
                //    dtsRuntimeConnection.Name = "Connection"; 
                //}
                //sourceComponent.RuntimeConnectionCollection[0].ConnectionManager = DtsConvert.GetExtendedInterface(conn2);
                //sourceComponent.RuntimeConnectionCollection[0].ConnectionManagerID = conn2.ID;
                //make connection active before next step
                //targetInstance.AcquireConnections(null);
            }
            catch (COMException ex)
            {
                throw new Exception("Error Happened ==&gt; " + targetComponent.GetErrorDescription(ex.ErrorCode));
            }

            /*============ STEP-5: Connect Source to Target =========== */

            //before we call reintializemetadata for dest .. lets attach src and dest so .. dest can use virtual inputs if needed
            var output = sourceComponent.OutputCollection[0]; //to make it simple lets pick first output but possible component can have more outputs
            var input = targetComponent.InputCollection[0];

            dataFlowTask.PathCollection.New().AttachPathAndPropagateNotifications(output, input);

            /*============ STEP-6: Configure Target =========== */
            try
            {
                //after connection + props set and source to target attached... call ReInitialize meta... it creates columns / output / input etc
                targetInstance.ReinitializeMetaData(); 
            }
            catch (COMException ex)
            {
                throw new Exception("Error Happened ==&gt; " + targetComponent.GetErrorDescription(ex.ErrorCode));
            }


            /*============ STEP-6: Save Package =========== */

            //* use below code to save to disk file 
            var app = new Microsoft.SqlServer.Dts.Runtime.Application();
            var filepath = @"c:\temp\demo.dtsx";
            app.SaveToXml(filepath, p, null);

            /*============ STEP-7: Load Package =========== */
            //--load from disk to memory
            p = app.LoadPackage(filepath, null);

            //*/

            /*============ STEP-8: Execute Package =========== */
            var status = p.Execute();

            /*============ STEP-9: Print execution status / log =========== */
            if (status != DTSExecResult.Success)
            {
                var errs = "";
                foreach (var e in p.Errors)
                {
                    errs = errs + string.Format("Source={0}, Err={1}", e.Source, e.Description) + "\r\n";
                }

                throw new Exception("Package status was &gt;&gt; " + status + " &gt;&gt; " + errs);
            }

            Console.WriteLine("Execution Completed... Press any key to exit!!!");
            Console.ReadKey();
        }

        private static void Create_SSIS_Variable_Demo()
        {
            var p = new Microsoft.SqlServer.Dts.Runtime.Package();
            
            p.Variables.Add("MyVariableName1", false, "User", "Some value");
        }

        private static void Create_SSIS_Connection_Demo()
        {
            var p = new Microsoft.SqlServer.Dts.Runtime.Package();

            var conn1 = p.Connections.Add("ZS-SFTP");
            conn1.Name = "MySftpConnection";
            conn1.ConnectionString = "Protocol=Sftp;ServerName=127.0.0.1;Port=0;LogonType=Normal;UserName=zstest;Password=zstest123";

        }

        private static void Create_SSIS_Connect_Tasks_Demo()
        {
            var p = new Microsoft.SqlServer.Dts.Runtime.Package();

            var SFTP_TASK = "ZappySys.SecureFtpTask";

            var tsk1 = p.Executables.Add(SFTP_TASK) as TaskHost;
            tsk1.Name = "SFTP_Task1";
            /*set some props - see Create_SSIS_Controlflow_Task_Demo */

            var tsk2 = p.Executables.Add(SFTP_TASK) as TaskHost;
            tsk2.Name = "SFTP_Task2";
            /*set some props - see Create_SSIS_Controlflow_Task_Demo */
            
            //add link between task1--&gt;task2
            var pc = p.PrecedenceConstraints.Add(tsk1, tsk2);
            pc.EvalOp = DTSPrecedenceEvalOp.Constraint;
            pc.Value = DTSExecResult.Success;
            pc.LogicalAnd = true; //only useful if multiple inputs coming and you want all previous steps to be Green vs Any One Green .. if its any use LogicalAnd=False

            //If you need to connect with expression use below
            //pc.EvalOp = DTSPrecedenceEvalOp.ExpressionAndConstraint;
            //pc.Expression = "@SomeVariable == true";
        }

       

     
    }
}</pre><p>
&nbsp;</p>
<p>&nbsp;</p>
<p>The post <a href="https://zappysys.com/blog/create-ssis-package-programmatically-add-execute-connections-tasks/">How to create SSIS Package Programmatically (Add / Execute Tasks)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to register Salesforce App and obtain Client ID / Secret (for API Call / OAuth)</title>
		<link>https://zappysys.com/blog/register-salesforce-app-obtain-client-id-secret-oauth-api-call/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Mon, 27 Dec 2021 20:40:45 +0000</pubDate>
				<category><![CDATA[Salesforce Driver]]></category>
		<category><![CDATA[SSIS Salesforce Connection]]></category>
		<category><![CDATA[SSIS Salesforce Destination]]></category>
		<category><![CDATA[SSIS Salesforce Source]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[odbc]]></category>
		<category><![CDATA[salesforce]]></category>
		<category><![CDATA[ssis]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=9482</guid>

					<description><![CDATA[<p>Introduction Using Salesforce Connection with OAuth App in SSIS / ODBC Once you have Client ID / Secret, you can use it in the Salesforce Connection in SSIS Connector / ODBC Driver for Salesforce like below (Only the new version will have OAuth option) Troubleshooting Known Issues Let&#8217;s look at some common issues with Salesforce [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/register-salesforce-app-obtain-client-id-secret-oauth-api-call/">How to register Salesforce App and obtain Client ID / Secret (for API Call / OAuth)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<div class="content_block" id="custom_post_widget-9476">In this section, we will discuss how to register OAuth App to call Salesforce API using Client ID / Secret rather than using your User Id / Password.

Once you follow these steps below to register your Salesforce App (OAuth App), at the end you will get a Client ID (sometimes referred to as App Id) and Client Secret (or App Secret). These two pieces can be used later on to call Salesforce API using OAuth.

So let's get started.
<h3>Register Salesforce App (OAuth)</h3>
<ol>
 	<li>Login into your account and go to <strong><em>Setup</em> </strong>as shown below (click on gear icon at the top right corner):
<img loading="lazy" decoding="async" src="https://zappysys.zendesk.com/attachments/token/7D9Rx9qHJswkt28sC5vTggrNT/?name=inline-1178316509.png" alt="Accessing Salesforce Setup to create an OAuth App" width="342" height="233" data-original-height="233" data-original-width="342" /></li>
 	<li>Then in the search bar input "app" and open <strong><em>App Manager</em></strong>:
<img loading="lazy" decoding="async" src="https://zappysys.zendesk.com/attachments/token/DTjFQpyDw4NViKdJyhyFkO1ng/?name=inline1698967483.png" alt="Searching Salesforce App Manager to create an OAuth App" width="689" height="364" data-original-height="364" data-original-width="689" /></li>
 	<li>Then click <strong><em>New Connected App</em></strong> to create a new OAuth App:
<strong>NOTE:</strong> In some version, it may say <strong><strong>New External Client App
</strong></strong>
<p data-start="1271" data-end="1309">Look for one of the following buttons:</p>

<ul data-start="1310" data-end="1395">
 	<li data-start="1310" data-end="1348">
<p data-start="1312" data-end="1348"><strong data-start="1312" data-end="1333">New Connected App</strong> (Classic name)</p>
</li>
 	<li data-start="1349" data-end="1395">
<p data-start="1351" data-end="1395"><strong data-start="1351" data-end="1378">New External Client App</strong> (Lightning name)</p>
</li>
</ul>
<img loading="lazy" decoding="async" src="https://zappysys.zendesk.com/attachments/token/eD6OrA9TqfRuM5N41Vqd7nrvb/?name=inline684283902.png" alt="Creating a Salesforce App to get data via ODBC driver" width="867" height="327" data-original-height="327" data-original-width="867" /></li>
 	<li>Give your App a name and:
- Enable OAuth Settings
- Set callback URL to following two URLs (one in each line)
<strong><em>https://login.salesforce.com/services/oauth2/success
</em></strong><em><strong>https://zappysys.com/oauth</strong></em>
- Add an OAuth scope you want or simply add "<strong><em>Full access</em></strong>".
- Add "<strong><em>Perform requests on your behalf at any time (offline_token)</em></strong>" scope to get a refresh token so that you don't have to re-authenticate each time requesting an access token:<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/create-salesforce-connected-oauth-app-for-odbc-datasource.png"><img loading="lazy" decoding="async" class="wp-image-4267 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/06/create-salesforce-connected-oauth-app-for-odbc-datasource.png" alt="Configuring Salesforce App OAuth settings to get data via ODBC driver" width="1041" height="700" srcset="https://zappysys.com/blog/wp-content/uploads/2018/06/create-salesforce-connected-oauth-app-for-odbc-datasource.png 1041w, https://zappysys.com/blog/wp-content/uploads/2018/06/create-salesforce-connected-oauth-app-for-odbc-datasource-300x202.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/06/create-salesforce-connected-oauth-app-for-odbc-datasource-768x516.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/06/create-salesforce-connected-oauth-app-for-odbc-datasource-1024x689.png 1024w, https://zappysys.com/blog/wp-content/uploads/2018/06/create-salesforce-connected-oauth-app-for-odbc-datasource-272x182.png 272w" sizes="(max-width: 1041px) 100vw, 1041px" /></a>

<span style="text-decoration: underline; color: #800000;"><strong>IMPORTANT:</strong></span> You can use "<strong>Access and manage your data (api)</strong>" if you do not like to grant full permission to this app but make sure you request same permission from the caller app too  (Example on ZappySys Salesforce Connection UI -&gt; Advanced Tab -&gt; Set scope as "<strong>api offline_access</strong>" rather than "<strong>full offline_access</strong>"</li>
 	<li>Click "Save".</li>
</ol>
<h3>Get Client Id and Client Secret for Salesforce Connected App</h3>
Once the App is created, we need to find out the App Id / Secret so we can use it for API calls.
<ol>
 	<li>Go to App Manager</li>
 	<li>Find out the recently created App and click View (click on the small arrow to the right)
<a href="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-view-edit-oauth-app-settings.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-9477" src="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-view-edit-oauth-app-settings.png" alt="" width="1029" height="413" srcset="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-view-edit-oauth-app-settings.png 1029w, https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-view-edit-oauth-app-settings-300x120.png 300w, https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-view-edit-oauth-app-settings-768x308.png 768w, https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-view-edit-oauth-app-settings-1024x411.png 1024w" sizes="(max-width: 1029px) 100vw, 1029px" /></a></li>
 	<li>Once App page is loaded you can Copy <strong>Consumer Key</strong> and <strong>Consumer Secret</strong> (click on reveal to see). Also copy anyone Call back URL (We will need this for OAuth Connection &gt; Advanced Tab &gt; Call Back URL or Redirect URL property depending on which ZappySys Product / Driver you are using)
<a href="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-oauth-app-clientid-secret-callbackurl.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-9478" src="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-oauth-app-clientid-secret-callbackurl.png" alt="" width="974" height="554" srcset="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-oauth-app-clientid-secret-callbackurl.png 974w, https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-oauth-app-clientid-secret-callbackurl-300x171.png 300w, https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-oauth-app-clientid-secret-callbackurl-768x437.png 768w" sizes="(max-width: 974px) 100vw, 974px" /></a></li>
 	<li>That's it, you can now use these 3 pieces to ZappySys <strong>OAuth connection UI</strong> or on <strong>Salesforce Connection UI</strong> (new version with OAuth support). The above screenshot shows where to enter these 3 pieces in the New Salesforce Connection. For the OAuth Connection, the redirect URL goes to the Advanced Tab &gt; Callback URL textbox.</li>
</ol>
<h3>Get Client Id and Secret for Salesforce External Client App</h3>
If you created a new App by clicking on the <strong>New External Client App</strong> button, then your App may not be visible in the App Manager Screen. In that case, find it below way.

[caption id="attachment_11637" align="alignnone" width="1222"]<a href="https://zappysys.com/blog/wp-content/uploads/2021/12/obtain-salesforce-oauth-clientid-secret.jpg"><img loading="lazy" decoding="async" class="size-full wp-image-11637" src="https://zappysys.com/blog/wp-content/uploads/2021/12/obtain-salesforce-oauth-clientid-secret.jpg" alt="" width="1222" height="733" srcset="https://zappysys.com/blog/wp-content/uploads/2021/12/obtain-salesforce-oauth-clientid-secret.jpg 1222w, https://zappysys.com/blog/wp-content/uploads/2021/12/obtain-salesforce-oauth-clientid-secret-300x180.jpg 300w, https://zappysys.com/blog/wp-content/uploads/2021/12/obtain-salesforce-oauth-clientid-secret-1024x614.jpg 1024w, https://zappysys.com/blog/wp-content/uploads/2021/12/obtain-salesforce-oauth-clientid-secret-768x461.jpg 768w" sizes="(max-width: 1222px) 100vw, 1222px" /></a> Get Client Id, Client Secret - For New External Client App[/caption]
<h3>Enable Client Credentials Grant (Non-Interactive Run-As)</h3>
If you like to enable Non-Interactive mode, just like UserId / Password Authentication, but without actually passing a real UserId or Password on the Connection UI, then you can enable Client Credentials Flow as below.

<strong>NOTE:</strong> Only the New version of ZappySys Salesforce Connection supports Client Credentials Grant. <span style="text-decoration: underline;"><strong>Version released after Nov 1, 2025 supports this grant type</strong></span>.

[caption id="attachment_11639" align="alignnone" width="419"]<a href="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-client-credentials-grant-runas.jpg"><img loading="lazy" decoding="async" class="size-full wp-image-11639" src="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-client-credentials-grant-runas.jpg" alt="" width="419" height="480" srcset="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-client-credentials-grant-runas.jpg 419w, https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-client-credentials-grant-runas-262x300.jpg 262w" sizes="(max-width: 419px) 100vw, 419px" /></a> Enable Salesforce Client Credentials Grant (Run As)[/caption]
<h3>(OPTIONAL) Configure Salesforce OAuth refresh token validity</h3>
By default, Salesforce Refresh Token doesn't expire once you generate. If you want to change the default behavior, follow these steps.
<ol>
 	<li>Go to "<strong>Manage Connected Apps</strong>" menu item and press on your App name:<img loading="lazy" decoding="async" class="wp-image-4298 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/06/salesforce-oauth-app-policy-management-2.png" alt="Finding Salesforce App to configure its policies" width="660" height="410" srcset="https://zappysys.com/blog/wp-content/uploads/2018/06/salesforce-oauth-app-policy-management-2.png 660w, https://zappysys.com/blog/wp-content/uploads/2018/06/salesforce-oauth-app-policy-management-2-300x186.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/06/salesforce-oauth-app-policy-management-2-436x272.png 436w" sizes="(max-width: 660px) 100vw, 660px" /></li>
 	<li>Click "Edit Policies" to configure refresh token validity:
<img loading="lazy" decoding="async" class="wp-image-4271 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/06/edit-salesforce-connected-app-policies.png" alt="Editing Salesforce App OAuth refresh token issuing policy" width="680" height="391" srcset="https://zappysys.com/blog/wp-content/uploads/2018/06/edit-salesforce-connected-app-policies.png 680w, https://zappysys.com/blog/wp-content/uploads/2018/06/edit-salesforce-connected-app-policies-300x173.png 300w" sizes="(max-width: 680px) 100vw, 680px" /></li>
 	<li>Set "<strong>All users may self-authorize</strong>" and "<strong>Refresh token is valid until revoked</strong>" options:<a href="https://zappysys.com/blog/wp-content/uploads/2018/06/salesforce-rest-api-app-odbc-oauth-refresh-token-validity-1.png"><img loading="lazy" decoding="async" class="wp-image-4273 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/06/salesforce-rest-api-app-odbc-oauth-refresh-token-validity-1.png" alt="Making Salesforce App OAuth refresh token to never expire" width="870" height="498" srcset="https://zappysys.com/blog/wp-content/uploads/2018/06/salesforce-rest-api-app-odbc-oauth-refresh-token-validity-1.png 870w, https://zappysys.com/blog/wp-content/uploads/2018/06/salesforce-rest-api-app-odbc-oauth-refresh-token-validity-1-300x172.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/06/salesforce-rest-api-app-odbc-oauth-refresh-token-validity-1-768x440.png 768w" sizes="(max-width: 870px) 100vw, 870px" /></a></li>
 	<li>Click "Save".</li>
</ol>
<h3></h3></div>
<h2>Using Salesforce Connection with OAuth App in SSIS / ODBC</h2>
<p>Once you have Client ID / Secret, you can use it in the Salesforce Connection in SSIS Connector / ODBC Driver for Salesforce like below (Only the new version will have OAuth option)</p>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-connection-using-oauth-app-clientid-secret.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-9513" src="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-connection-using-oauth-app-clientid-secret.png" alt="" width="604" height="383" srcset="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-connection-using-oauth-app-clientid-secret.png 604w, https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-connection-using-oauth-app-clientid-secret-300x190.png 300w" sizes="(max-width: 604px) 100vw, 604px" /></a></p>
<h2>Troubleshooting Known Issues</h2>
<p>Let&#8217;s look at some common issues with Salesforce Connection and how to fix them.</p>
<h3>OAuth Error: Missing Required Code Challenge</h3>
<p>When you click Generate Token button, you may get an error like the one below.</p>
<div id="attachment_11066" style="width: 767px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-oauth-pkce-verfier-error-missing-required-code-challenge.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11066" class="size-full wp-image-11066" src="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-oauth-pkce-verfier-error-missing-required-code-challenge.png" alt="Salesforce OAuth Generate Token Error - Missing Required Code Challenge" width="757" height="571" srcset="https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-oauth-pkce-verfier-error-missing-required-code-challenge.png 757w, https://zappysys.com/blog/wp-content/uploads/2021/12/salesforce-oauth-pkce-verfier-error-missing-required-code-challenge-300x226.png 300w" sizes="(max-width: 757px) 100vw, 757px" /></a><p id="caption-attachment-11066" class="wp-caption-text">Salesforce OAuth Generate Token Error &#8211; Missing Required Code Challenge</p></div>
<p><strong>Solution</strong></p>
<p>Here is how to fix it.</p>
<p>For Salesforce Connection UI: Go to Advanced Tab =&gt; Check Enable PKCE Code Verifier option<br />
&#8211;OR&#8211;<br />
For OAuth Connection UI: Go to OAuth2 Grant Options Tab =&gt; Check Enable Code Verifier Option</p>
<div id="attachment_11067" style="width: 1384px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2021/12/oauth-connection-enable-pkce-code-verifier-option.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-11067" class="size-full wp-image-11067" src="https://zappysys.com/blog/wp-content/uploads/2021/12/oauth-connection-enable-pkce-code-verifier-option.png" alt="Enable PKCE code verifier option - OAuth Connection for Salesforce" width="1374" height="637" srcset="https://zappysys.com/blog/wp-content/uploads/2021/12/oauth-connection-enable-pkce-code-verifier-option.png 1374w, https://zappysys.com/blog/wp-content/uploads/2021/12/oauth-connection-enable-pkce-code-verifier-option-300x139.png 300w, https://zappysys.com/blog/wp-content/uploads/2021/12/oauth-connection-enable-pkce-code-verifier-option-1024x475.png 1024w, https://zappysys.com/blog/wp-content/uploads/2021/12/oauth-connection-enable-pkce-code-verifier-option-768x356.png 768w" sizes="(max-width: 1374px) 100vw, 1374px" /></a><p id="caption-attachment-11067" class="wp-caption-text">Enable PKCE code verifier option &#8211; OAuth Connection for Salesforce.</p></div>
<p>The post <a href="https://zappysys.com/blog/register-salesforce-app-obtain-client-id-secret-oauth-api-call/">How to register Salesforce App and obtain Client ID / Secret (for API Call / OAuth)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
