<?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 Salesforce Destination Archives | ZappySys Blog</title>
	<atom:link href="https://zappysys.com/blog/category/ssis/components/ssis-salesforce-destination/feed/" rel="self" type="application/rss+xml" />
	<link>https://zappysys.com/blog/category/ssis/components/ssis-salesforce-destination/</link>
	<description>SSIS / ODBC Drivers / API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more</description>
	<lastBuildDate>Wed, 21 Jan 2026 22:44:44 +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 Salesforce Destination Archives | ZappySys Blog</title>
	<link>https://zappysys.com/blog/category/ssis/components/ssis-salesforce-destination/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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 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 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>
		<item>
		<title>SSIS PowerPack v2.9 released (Upsert Destination, Salesforce BULK API and more&#8230;)</title>
		<link>https://zappysys.com/blog/ssis-powerpack-v2-9-0/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Sun, 10 Feb 2019 20:44:09 +0000</pubDate>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[SSIS Salesforce Destination]]></category>
		<category><![CDATA[SSIS Upsert Destination]]></category>
		<category><![CDATA[ssis powerpack release]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=6325</guid>

					<description><![CDATA[<p>What&#8217;s New In this release we focused on mainly providing high quality and super fast Upsert Destination (Bulk Update, Insert and Delete / Merge) for SQL Server. We also added Salesforce BULK API support for Salesforce Destination. Full Notes: https://zappysys.com/onlinehelp/ssis-powerpack/scr/release-notes.htm Version 2.9.0.10210 [Feb 08, 2019] New Features/Improvements NEW: Amazon S3 CSV File Source, FTP, Azure &#8211; [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/ssis-powerpack-v2-9-0/">SSIS PowerPack v2.9 released (Upsert Destination, Salesforce BULK API and more&#8230;)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>What&#8217;s New</h2>
<p>In this release we focused on mainly providing high quality and super fast <strong>Upsert Destination</strong> (Bulk Update, Insert and Delete / Merge) for SQL Server. We also added <strong>Salesforce BULK API</strong> support for <a href="https://zappysys.com/products/ssis-powerpack/ssis-salesforce-destination-connector/" target="_blank" rel="noopener">Salesforce Destination</a>.</p>
<p>Full Notes: <a href="https://zappysys.com/onlinehelp/ssis-powerpack/scr/release-notes.htm" target="_blank" rel="noopener">https://zappysys.com/onlinehelp/ssis-powerpack/scr/release-notes.htm</a></p>
<h2 class="vertitle">Version 2.9.0.10210 [Feb 08, 2019]</h2>
<h3 class="versubtitle">New Features/Improvements</h3>
<ul>
<li><span class="verAdded">NEW: </span>Amazon S3 CSV File Source, FTP, Azure &#8211; Add UI validation for connection selection (Do not allow preview if selection is not valid)</li>
<li><span class="verAdded">NEW: </span>CSV Destination for Azure, AWS, FTP &#8211; Validate for no input columns selected</li>
<li><span class="verAdded">NEW: </span>Export CSV File Task &#8211; Change default delimiter as comma and add enable QuoteAroundValueIfNeeded option by default</li>
<li><span class="verAdded">NEW: </span>General &#8211; License Manager command line registration doesnt log errors to file (Command line is useful in ADF &#8211; SSIS IR in Azure Data Factory &#8211; License Registration in setup script)</li>
<li><span class="verAdded">NEW: </span>General &#8211; Reduce verbosity of connection not assigned validation error</li>
<li><span class="verAdded">NEW: </span>HTML Email Task &#8211; Provide an option to prevent HTML Encoding when you insert Recordset Variable (add new placeholder {{User::varRecordset,table_no_encode}} )</li>
<li><span class="verAdded">NEW: </span>HTTP Connection Manager &#8211; Add option to retain Cookies in Dynamic Token Method (e.g. SAP Odata / SOAP API use case)</li>
<li><span class="verAdded">NEW: </span>JSON, XML Source &#8211; Provide an option to set CharacterSet / Encoding just like REST API Task (e.g. Support UTF-8 without BOM )</li>
<li><span class="verAdded">NEW: </span>Salesforce Destination &#8211; Add support for Bulk API for very large dataset</li>
<li><span class="verAdded">NEW: </span>Secure FTP Connection &#8211; Lower the default minimum Key Size to 512 bit to support old version keys (Some customers reported problem with default 1023 bit size key we forced in last version)</li>
<li><span class="verAdded">NEW: </span>Secure FTP Task &#8211; Show file size in log</li>
<li><span class="verAdded">NEW: </span>Upsert Destination &#8211; Bulk Update, Insert, Delete and Merge for SQL Server</li>
</ul>
<h3 class="versubtitle">Bug fixes</h3>
<ul>
<li><span class="verFixed">FIX: </span>Amazon S3 CSV Source &#8211; When File name contains colon ( : ) it may not work when you hit preview (You get 404 Error)</li>
<li><span class="verFixed">FIX: </span>CSV File Destination &#8211; Object reference not set error may be thrown on ReleaseConnection</li>
<li><span class="verFixed">FIX: </span>Export JSON File Task, Export XML Task, Export CSV Task- Input string was not in a correct format.Couldn&#8217;t store &lt;&gt; in SomeIntegerColumn. Expected type is Int32</li>
<li><span class="verFixed">FIX: </span>JSON Generator Transform &#8211; Hidden columns with Include in output option may be NULL if Multiple rows included in output document</li>
<li><span class="verFixed">FIX: </span>PostgreSql Source, Amazon Redshift Source &#8211; License is not validated correctly</li>
<li><span class="verFixed">FIX: </span>Salesforce Connection Manager &#8211; For long running salesforce JOB you may get session timeout error after 2 hours</li>
<li><span class="verFixed">FIX: </span>Secure FTP Connection Manager &#8211; You cannot specify Host Key Exchange algorithms, if you set you get server and client has no common algorithm error</li>
<li><span class="verFixed">FIX: </span>Secure FTP Connection Manager &#8211; You may get error &#8211; Negotiation failed. Server signature is not valid</li>
<li><span class="verFixed">FIX: </span>Secure FTP Task &#8211; Progress event shows counter starting from zero rather than one</li>
<li><span class="verFixed">FIX: </span>XML Source, XML Parser Transform &#8211; When 2D Transform Enabled , Cannot deal with XSI:NIL or self closing nodes correctly: Type cast exception</li>
</ul>
<p>&nbsp;</p>
<h2>SSIS Upsert Destination</h2>
<p>In this release we added very useful component for Upsert operation (in SQL Server Database for now). This component can perform High performance Bulk Upsert (Insert + Update) in a single operation. It uses Key based Lookup. You can also do Bulk Delete or Bulk Update.</p>
<p><a href="https://zappysys.com/blog/wp-content/uploads/2019/02/ssis-upsert-destination-example-sql-bulk-update-insert.png"><img loading="lazy" decoding="async" class="size-full wp-image-6329" src="https://zappysys.com/blog/wp-content/uploads/2019/02/ssis-upsert-destination-example-sql-bulk-update-insert.png" alt="SSIS Upsert Destination Example - Bulk Insert or Update in SQL Server (Merge Records)" width="834" height="787" srcset="https://zappysys.com/blog/wp-content/uploads/2019/02/ssis-upsert-destination-example-sql-bulk-update-insert.png 834w, https://zappysys.com/blog/wp-content/uploads/2019/02/ssis-upsert-destination-example-sql-bulk-update-insert-300x283.png 300w, https://zappysys.com/blog/wp-content/uploads/2019/02/ssis-upsert-destination-example-sql-bulk-update-insert-768x725.png 768w" sizes="(max-width: 834px) 100vw, 834px" /></a></p>
<p>SSIS Upsert Destination Example &#8211; Bulk Insert or Update in SQL Server (Merge Records)</p>
<h2>Salesforce BULK Update Feature</h2>
<p>We also added highly requested feature in Salesforce to use BULK API for very large dataset. By default Salesforce Destination uses SOAP API for Insert operation. Which is good for most part if you don&#8217;t have large dataset. For millions of rows it won&#8217;t perform good. This is why we added Bulk API mode.</p>
<p>We added two new properties. <strong>EnableBulkApiMode</strong> and <strong>MaxRowsPerJob</strong>. When EnableBulkApiMode is enabled BatchSize is ignored.</p>
<div id="attachment_6330" style="width: 778px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2019/02/ssis-salesforce-bulk-api-mode-upsert.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6330" class="size-full wp-image-6330" src="https://zappysys.com/blog/wp-content/uploads/2019/02/ssis-salesforce-bulk-api-mode-upsert.png" alt="SSIS Salesforce Destination - Upload Data using BULK API mode" width="768" height="745" srcset="https://zappysys.com/blog/wp-content/uploads/2019/02/ssis-salesforce-bulk-api-mode-upsert.png 768w, https://zappysys.com/blog/wp-content/uploads/2019/02/ssis-salesforce-bulk-api-mode-upsert-300x291.png 300w" sizes="(max-width: 768px) 100vw, 768px" /></a><p id="caption-attachment-6330" class="wp-caption-text">SSIS Salesforce Destination &#8211; Upload Data using BULK API mode</p></div>
<p>The post <a href="https://zappysys.com/blog/ssis-powerpack-v2-9-0/">SSIS PowerPack v2.9 released (Upsert Destination, Salesforce BULK API and more&#8230;)</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Load data in Salesforce using SSIS  – Insert, Upsert, Delete, Update</title>
		<link>https://zappysys.com/blog/loading-data-salesforce-using-ssis-bulk-insert-update-delete/</link>
		
		<dc:creator><![CDATA[ZappySys]]></dc:creator>
		<pubDate>Fri, 07 Dec 2018 18:09:59 +0000</pubDate>
				<category><![CDATA[SSIS Salesforce Destination]]></category>
		<category><![CDATA[crm]]></category>
		<category><![CDATA[salesforce]]></category>
		<category><![CDATA[ssis]]></category>
		<category><![CDATA[upsert]]></category>
		<guid isPermaLink="false">https://zappysys.com/blog/?p=5539</guid>

					<description><![CDATA[<p>Introduction In this article we&#8217;re going to focus on load data in Salesforce using SSIS (Bulk Insert, Update, Delete and Upsert). If you like to know how to read from Salesforce then refer to previous post here. For Demo purpose we will use AdventuresWorks sample database as our source but you can use your own [&#8230;]</p>
<p>The post <a href="https://zappysys.com/blog/loading-data-salesforce-using-ssis-bulk-insert-update-delete/">Load data in Salesforce using SSIS  – Insert, Upsert, Delete, Update</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/2017/09/salesforce-logo-180x180.png"><img loading="lazy" decoding="async" class="wp-image-1764 alignleft" src="https://zappysys.com/blog/wp-content/uploads/2017/09/salesforce-logo-180x180.png" alt="" width="158" height="158" srcset="https://zappysys.com/blog/wp-content/uploads/2017/09/salesforce-logo-180x180.png 180w, https://zappysys.com/blog/wp-content/uploads/2017/09/salesforce-logo-180x180-150x150.png 150w" sizes="(max-width: 158px) 100vw, 158px" /></a>In this article we&#8217;re going to focus on load data in Salesforce using SSIS (Bulk Insert, Update, Delete and Upsert). If you like to know how to read from Salesforce then refer to <a href="https://zappysys.com/blog/export-data-from-salesforce-to-sql-server-using-ssis/">previous post here</a>. For Demo purpose we will use AdventuresWorks sample database as our source but you can use your own Database for testing.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div class="content_block" id="custom_post_widget-2523"><h2><span id="Prerequisites">Prerequisites</span></h2>
Before we perform the steps listed in this article, you will need to make sure the following prerequisites are met:
<ol style="margin-left: 1.5em;">
 	<li><abbr title="SQL Server Integration Services">SSIS</abbr> designer installed. Sometimes it is referred to as <abbr title="Business Intelligence Development Studio">BIDS</abbr> or <abbr title="SQL Server Data Tools">SSDT</abbr> (<a href="https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt" target="_blank" rel="noopener">download it from the Microsoft site</a>).</li>
 	<li>Basic knowledge of SSIS package development using <em>Microsoft SQL Server Integration Services</em>.</li>
 	<li>Make sure <span style="text-decoration: underline;"><a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack</a></span> is installed (<a href="https://zappysys.com/products/ssis-powerpack/download/" target="_blank" rel="noopener">download it</a>, if you haven't already).</li>
 	<li>(<em>Optional step</em>)<em>.</em> <a href="https://zappysys.zendesk.com/hc/en-us/articles/360035974593" target="_blank" rel="noopener">Read this article</a>, if you are planning to deploy packages to a server and schedule their execution later.</li>
</ol></div>
<h2>Salesforce developer account</h2>
<p>To develop ETLs in Salesforce using SSIS you&#8217;ll need a Salesforce developer account. If you don&#8217;t have one, don&#8217;t worry, you can create a limited version FREE developer account. Click here to Sign up for <a href="https://developer.salesforce.com/signup" target="_blank" rel="noopener">FREE developer</a> account.</p>
<h2>Video Tutorial – Salesforce Insert, Upsert, Delete, Update</h2>
<a href="https://zappysys.com/blog/loading-data-salesforce-using-ssis-bulk-insert-update-delete/"><img decoding="async" src="https://zappysys.com/blog/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FulQLMIaSdJQ%2Fhqdefault.jpg" alt="YouTube Video"></a><br /><br /></p>
<p>&nbsp;</p>
<h2>Getting Started</h2>
<p>In this section, we will see how to perform bulk insert, update delete and upsert operations using <a href="https://zappysys.com/products/ssis-powerpack/ssis-salesforce-destination-connector/" target="_blank" rel="noopener">ZS Salesforce Destination</a></p>
<h3>Configure Salesforce Connection</h3>
<p>First, we&#8217;ll need setup a connection to read or write Salesforce data is to make sure we have a working connection in SSIS.</p>
<ol>
<li>Create new or open existing SSIS Project in Visual Studio.</li>
<li>Open SSIS Package and Go to SSIS designer.</li>
<li>Right click in the connection manager panel and click <strong>New connection</strong>
<div id="attachment_3560" style="width: 756px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3560" class="wp-image-3560 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/05/create-a-new-connection.jpg" alt="SSIS create a new connection CRM Dynamics" width="746" height="403" srcset="https://zappysys.com/blog/wp-content/uploads/2018/05/create-a-new-connection.jpg 746w, https://zappysys.com/blog/wp-content/uploads/2018/05/create-a-new-connection-300x162.jpg 300w" sizes="(max-width: 746px) 100vw, 746px" /><p id="caption-attachment-3560" class="wp-caption-text">Create a new SSIS Salesforce Connection</p></div></li>
<li>In the connection type selection, Select the <strong>ZS-SALESFORCE </strong>Connection.</li>
<li>We&#8217;ll use this information: Username, Password, Security Token (<em>click the link learn how to obtain</em> <a href="https://zappysys.zendesk.com/hc/en-us/articles/360000220714-How-to-obtain-alesforce-Security-Token" target="_blank" rel="noopener">Salesforce Security Token</a> )</li>
<li>Click OK to add the connection.
<div id="attachment_5979" style="width: 682px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5979" class="size-full wp-image-5979" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-salesforce-connection.png" alt="Salesforce using SSIS, Salesforce connection" width="672" height="531" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-salesforce-connection.png 672w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-salesforce-connection-300x237.png 300w" sizes="(max-width: 672px) 100vw, 672px" /><p id="caption-attachment-5979" class="wp-caption-text">Salesforce using SSIS, Salesforce connection</p></div></li>
<li>Save all changes</li>
</ol>
<h2>Bulk Insert &#8211; Import data into Salesforce using SSIS</h2>
<p>Let&#8217;s start with the a bulk insert in Salesforce using SSIS. On this section, we&#8217;re going to generate retrieve data from and OLEDB Source and proceed to Insert the records into Salesforce using <a href="https://zappysys.com/products/ssis-powerpack/ssis-salesforce-destination-connector/" target="_blank" rel="noopener">ZS Salesforce Destination</a>.</p>
<h3>Configure SQL Server Source (OLEDB)</h3>
<ol>
<li>Open SSIS Package and drag Data Flow task from Control Flow SSIS Toolbox
<div id="attachment_8028" style="width: 470px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8028" class="size-full wp-image-8028" src="https://zappysys.com/blog/wp-content/uploads/2019/02/drag-and-drop-data-flow-task.png" alt="" width="460" height="155" srcset="https://zappysys.com/blog/wp-content/uploads/2019/02/drag-and-drop-data-flow-task.png 460w, https://zappysys.com/blog/wp-content/uploads/2019/02/drag-and-drop-data-flow-task-300x101.png 300w" sizes="(max-width: 460px) 100vw, 460px" /><p id="caption-attachment-8028" class="wp-caption-text">Dragging and dropping Data Flow Task into Control Flow</p></div></li>
<li>Go to data flow designer. Drag and drop an OLE DB Source</li>
<li>Open the OLE DB Source and configure as follow:
<div id="attachment_5964" style="width: 512px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5964" class="size-full wp-image-5964" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-insert-source-oledb-1.png" alt="salesforce-using-ssis-insert-source-oledb" width="502" height="399" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-insert-source-oledb-1.png 502w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-insert-source-oledb-1-300x238.png 300w" sizes="(max-width: 502px) 100vw, 502px" /><p id="caption-attachment-5964" class="wp-caption-text">Configure SQL Server Source</p></div></li>
</ol>
<h3>Configure SSIS Salesforce Destination for Bulk Insert</h3>
<p>Once SQL Server source is configure. Now let&#8217;s configure Salesforce Destination for Bulk Insert like below.</p>
<ol>
<li>Drag and drop <a href="https://zappysys.com/products/ssis-powerpack/ssis-salesforce-destination-connector/" target="_blank" rel="noopener">ZS Salesforce Destination</a></li>
<li>Open the destination component</li>
<li>Connection Manager
<div id="attachment_5972" style="width: 768px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5972" class="size-full wp-image-5972" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-destination-connection-manager.png" alt="" width="758" height="563" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-destination-connection-manager.png 758w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-destination-connection-manager-300x223.png 300w" sizes="(max-width: 758px) 100vw, 758px" /><p id="caption-attachment-5972" class="wp-caption-text">Salesforce using SSIS, upsert destination connection manager</p></div></li>
<li>Component Properties
<div id="attachment_5966" style="width: 768px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5966" class="size-full wp-image-5966" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-insert-properties-1.png" alt="salesforce-using-ssis-insert-properties" width="758" height="563" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-insert-properties-1.png 758w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-insert-properties-1-300x223.png 300w" sizes="(max-width: 758px) 100vw, 758px" /><p id="caption-attachment-5966" class="wp-caption-text">salesforce-using-ssis-insert-properties</p></div></li>
<li>Column Mappings
<div id="attachment_5967" style="width: 762px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5967" class="size-full wp-image-5967" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-insert-mapping.png" alt="salesforce-using-ssis-insert-mapping" width="752" height="379" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-insert-mapping.png 752w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-insert-mapping-300x151.png 300w" sizes="(max-width: 752px) 100vw, 752px" /><p id="caption-attachment-5967" class="wp-caption-text">salesforce-using-ssis-insert-mapping</p></div></li>
<li>Click OK</li>
<li>Drag and drop two <a href="https://zappysys.com/onlinehelp/ssis-powerpack/index.htm#page=trash-destination.htm" target="_blank" rel="noopener">Trash Destination</a> components</li>
<li>Connect ZS Salesforce Destination for: New records Output and Error Output</li>
<li>Right click on the joining arrows and enable data viewers on all previous connections</li>
<li>Save all changes</li>
<li>Right click in the data flow designer, click Execute Task
<div id="attachment_5968" style="width: 864px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5968" class="size-full wp-image-5968" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-insert-results.png" alt="salesforce-using-ssis-insert-results" width="854" height="280" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-insert-results.png 854w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-insert-results-300x98.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-insert-results-768x252.png 768w" sizes="(max-width: 854px) 100vw, 854px" /><p id="caption-attachment-5968" class="wp-caption-text">salesforce-using-ssis-insert-results</p></div></li>
</ol>
<h2>Bulk Update &#8211; Modify data in Salesforce using SSIS</h2>
<p>In this section we&#8217;re going to perform a bulk update on Salesforce using SSIS. We&#8217;re going to list some information from our source, list all our Salesforce Account data, merge it and only update the data we match. In below example what we will do is Find out matching records in Salesforce and our Source System based on some External Key field (e.g. AccountNumber in our case). And then obtain Salesforce Record <strong>Id</strong> for matching AccountNumber and use it to Update target record.</p>
<div class="su-note"  style="border-color:#e5de9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#fff8b7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;">If you are storing Salesforce Id fields part of your Source System then you don&#8217;t need to use Merge Transform to lookup by External ID field (e.g. AccountNumber in our case). Simply Attach Source with Salesforce Destination and map Id field along with other fields you like to Update. </div></div>
<h3>Configure SQL Server Source (OLEDB Source)</h3>
<ol>
<li>Open SSIS Package and drag Data Flow task from Control Flow SSIS Toolbox</li>
<li>Go to data flow designer. Drag and drop OLE DB Source</li>
<li>Open the OLE DB Source and configure
<div id="attachment_5981" style="width: 486px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5981" class="size-full wp-image-5981" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-oledb-source.png" alt="Salesforce using SSIS, Update OLEDB source" width="476" height="402" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-oledb-source.png 476w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-oledb-source-300x253.png 300w" sizes="(max-width: 476px) 100vw, 476px" /><p id="caption-attachment-5981" class="wp-caption-text">Salesforce using SSIS, Update OLEDB source</p></div></li>
</ol>
<h3>Configure SSIS Salesforce Source</h3>
<ol>
<li>Now lets Drag and drop <strong>ZS Salesforce Source</strong></li>
<li>Open the ZS Salesforce and configure. You can select <strong>Query Mode</strong> and enter query like this because we only care about two fields for now. Use query mode whenever possible because it transfers less data.<br />
<pre class="crayon-plain-tag">select Id,AccountNumber from account</pre>
<div id="attachment_5982" style="width: 896px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5982" class="size-full wp-image-5982" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-salesforce-source.png" alt="Salesforce using SSIS, Update Salesforce source" width="886" height="508" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-salesforce-source.png 886w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-salesforce-source-300x172.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-salesforce-source-768x440.png 768w" sizes="(max-width: 886px) 100vw, 886px" /><p id="caption-attachment-5982" class="wp-caption-text">Salesforce using SSIS, Update Salesforce source</p></div></li>
</ol>
<h3>Configure Sort Transforms</h3>
<p>Now lets sort both previous datasets using Sort Transforms. This is needed to JOIN dataset using Merge Transform (See next section)</p>
<ol>
<li>Drag and drop: 2 Sort and 1 Merge Join components</li>
<li>Connect the OLE DB Source to the <strong>first</strong> Sort component, and configure
<div id="attachment_5983" style="width: 719px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5983" class="size-full wp-image-5983" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-oledb-sort.png" alt="Salesforce using SSIS, Update OLEBD sort" width="709" height="330" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-oledb-sort.png 709w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-oledb-sort-300x140.png 300w" sizes="(max-width: 709px) 100vw, 709px" /><p id="caption-attachment-5983" class="wp-caption-text">Salesforce using SSIS, Update OLEBD sort</p></div></li>
<li>Connect the Salesforce Source to the <strong>second</strong> Sort component, and configure
<div id="attachment_5984" style="width: 720px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5984" class="size-full wp-image-5984" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-salesforce-sort.png" alt="Salesforce using SSIS,update Salesforce sort" width="710" height="332" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-salesforce-sort.png 710w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-salesforce-sort-300x140.png 300w" sizes="(max-width: 710px) 100vw, 710px" /><p id="caption-attachment-5984" class="wp-caption-text">Salesforce using SSIS,update Salesforce sort</p></div></li>
</ol>
<h3>Configure Merge Transforms</h3>
<p>No next step would be to join previous datasets based on AccountNumber and then we will output Id from Salesforce which is needed for later step.</p>
<ol>
<li>Drag and Drop Merge Transform from SSIS Toolbox like below.
<div id="attachment_6267" style="width: 448px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/12/ssis-merge-join-transform-toolbox-item.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6267" class="size-full wp-image-6267" src="https://zappysys.com/blog/wp-content/uploads/2018/12/ssis-merge-join-transform-toolbox-item.png" alt="Drag SSIS Merge Join Transform from Toolbox" width="438" height="340" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/ssis-merge-join-transform-toolbox-item.png 438w, https://zappysys.com/blog/wp-content/uploads/2018/12/ssis-merge-join-transform-toolbox-item-300x233.png 300w" sizes="(max-width: 438px) 100vw, 438px" /></a><p id="caption-attachment-6267" class="wp-caption-text">Drag SSIS Merge Join Transform from Toolbox</p></div></li>
<li>Connect Sorts to the Merge component (<em>sort from OLEDB Source most be on the left</em>)</li>
<li>Configure the Merge component
<div id="attachment_5985" style="width: 771px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5985" class="size-full wp-image-5985" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-merge.png" alt="Salesforce using SSIS, update merge" width="761" height="714" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-merge.png 761w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-merge-300x281.png 300w" sizes="(max-width: 761px) 100vw, 761px" /><p id="caption-attachment-5985" class="wp-caption-text">Salesforce using SSIS, update merge</p></div></li>
</ol>
<h3>Configure SSIS Salesforce Destination for Bulk Update</h3>
<ol>
<li>Drag and drop <a href="https://zappysys.com/products/ssis-powerpack/ssis-salesforce-destination-connector/" target="_blank" rel="noopener">ZS Salesforce Destination</a></li>
<li>Open the ZS Salesforce Destination and configure</li>
<li>Connection Manager tab
<div id="attachment_5972" style="width: 768px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5972" class="wp-image-5972 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-destination-connection-manager.png" alt="" width="758" height="563" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-destination-connection-manager.png 758w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-destination-connection-manager-300x223.png 300w" sizes="(max-width: 758px) 100vw, 758px" /><p id="caption-attachment-5972" class="wp-caption-text">Salesforce using SSIS, update destination connection manager</p></div></li>
<li>Component Properties tab
<div id="attachment_5986" style="width: 768px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5986" class="size-full wp-image-5986" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-destination-component-properties.png" alt="Salesforce using SSIS, update destination component properties" width="758" height="563" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-destination-component-properties.png 758w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-destination-component-properties-300x223.png 300w" sizes="(max-width: 758px) 100vw, 758px" /><p id="caption-attachment-5986" class="wp-caption-text">Salesforce using SSIS, update destination component properties</p></div></li>
<li><div class="su-note"  style="border-color:#e5ae9d;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:#ffc8b7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;">For Update purposes, Salesforce Destinations needs to map the ID from the Account object. For more information, please use the following link <a href="https://zappysys.zendesk.com/hc/en-us/articles/360008228693-SSIS-Salesforce-Destination-Update-Insert-with-Lookup-Fields-Text-to-Id-">SSIS Salesforce Destination &#8211; Update / Insert with Lookup Fields (Text to Id)</a> </div></div></li>
<li>Column Mapping
<div id="attachment_5987" style="width: 768px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5987" class="size-full wp-image-5987" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-destination-column-mappings.png" alt="salesforce using SSIS, update destination column mappings" width="758" height="563" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-destination-column-mappings.png 758w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-destination-column-mappings-300x223.png 300w" sizes="(max-width: 758px) 100vw, 758px" /><p id="caption-attachment-5987" class="wp-caption-text">salesforce using SSIS, update destination column mappings</p></div></li>
<li>Click OK</li>
<li>Drag and drop three <a href="https://zappysys.com/onlinehelp/ssis-powerpack/index.htm#page=trash-destination.htm" target="_blank" rel="noopener">Trash Destination</a> components</li>
<li>Create two connections from ZS Salesforce Destination as follows: <strong>Update records and Error Output</strong></li>
<li>Right click on the joining arrows and enable data viewers on all previous connections</li>
<li>Save all changes</li>
<li>Right click in the data flow designer, click Execute Task
<div id="attachment_5988" style="width: 951px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5988" class="size-full wp-image-5988" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-results.png" alt="Salesforce using SSIS, update results" width="941" height="485" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-results.png 941w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-results-300x155.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-results-768x396.png 768w" sizes="(max-width: 941px) 100vw, 941px" /><p id="caption-attachment-5988" class="wp-caption-text">Salesforce using SSIS, update results</p></div></li>
</ol>
<h2>Bulk Upsert &#8211; Import/Modify data in Salesforce using SSIS</h2>
<p>In this section we&#8217;re going to perform a bulk upsert of 25 record&#8217;s on Salesforce using SSIS. Upsert is an operation that combines both insert an update.</p>
<p><a href="https://zappysys.com/products/ssis-powerpack/ssis-salesforce-destination-connector/" target="_blank" rel="noopener">ZS Salesforce Destination</a> allows Upserts operations. You&#8217;ll need to select the Upsert as an action and indicate the Key value for the comparison.</p>
<h3>Creating External ID field for Salesforce Upsert</h3>
<p>For the Upsert action we have to use an Upsert Keyfield (i.e. External ID field). For more information read here <a href="https://help.salesforce.com/articleView?id=000005395&amp;language=en_US&amp;type=1">External ID</a>. Follow these steps to add a External ID field on Salesforce Accounts object:</p>
<ol>
<li>Login to your Salesforce account.</li>
<li>Click on the configuration icon and select &#8220;Service Setup&#8221;
<div id="attachment_6090" style="width: 382px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6090" class="wp-image-6090" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-upsert-keyfield-1.png" alt="salesforce-using-ssis-salesforce-edit-object" width="372" height="404" /><p id="caption-attachment-6090" class="wp-caption-text">Salesforce using SSIS, Salesforce edit object</p></div></li>
<li>On the new Tab, look for USER INTERFACE -&gt; Objects And Fields -&gt; Object Manager</li>
<li>Select Account object</li>
<li>Select Fields &amp; Relationships</li>
<li>Click New, to create a field
<div id="attachment_6091" style="width: 683px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6091" class="wp-image-6091 " src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-salesforce-fieldsandconfiguration.png" alt="salesforce-using-ssis-salesforce-fieldsandconfiguration" width="673" height="241" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-salesforce-fieldsandconfiguration.png 627w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-salesforce-fieldsandconfiguration-300x108.png 300w" sizes="(max-width: 673px) 100vw, 673px" /><p id="caption-attachment-6091" class="wp-caption-text">Salesforce using SSIS, Salesforce Fields &amp; Configuration</p></div></li>
<li>For the field type, choose Number and click next</li>
<li>For Field Label and Field Name, type TableID. Check Unique and External ID boxes and click next</li>
<li>Leave field-level security as default, click next</li>
<li>Leave page layouts as default, click next.</li>
<li>After finishing the configuration, the field should appear in the Fields &amp; Relationships page</li>
</ol>
<h3>Configure SQL Server Source</h3>
<ol>
<li>Open SSIS Package and drag Data Flow task from Control Flow SSIS Toolbox
<div id="attachment_8028" style="width: 470px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8028" class="size-full wp-image-8028" src="https://zappysys.com/blog/wp-content/uploads/2019/02/drag-and-drop-data-flow-task.png" alt="" width="460" height="155" srcset="https://zappysys.com/blog/wp-content/uploads/2019/02/drag-and-drop-data-flow-task.png 460w, https://zappysys.com/blog/wp-content/uploads/2019/02/drag-and-drop-data-flow-task-300x101.png 300w" sizes="(max-width: 460px) 100vw, 460px" /><p id="caption-attachment-8028" class="wp-caption-text">Dragging and dropping Data Flow Task into Control Flow</p></div></li>
<li>Go to data flow designer. Drag and drop OLE DB Source</li>
<li>Open the OLE DEB Source and configure as follow
<div id="attachment_5971" style="width: 489px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5971" class="size-full wp-image-5971" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-oledb-source.png" alt="Salesforce using SSIS, Upsert OLE DB source" width="479" height="408" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-oledb-source.png 479w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-oledb-source-300x256.png 300w" sizes="(max-width: 479px) 100vw, 479px" /><p id="caption-attachment-5971" class="wp-caption-text">Salesforce using SSIS, Upsert OLE DB source</p></div></li>
</ol>
<h3>Configure SSIS Salesforce Destination for Upsert</h3>
<ol>
<li>Drag and drop <a href="https://zappysys.com/products/ssis-powerpack/ssis-salesforce-destination-connector/" target="_blank" rel="noopener">ZS Salesforce Destination</a></li>
<li>Open the ZS Salesforce and configure</li>
<li>Connection Manager
<div id="attachment_5972" style="width: 768px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5972" class="size-full wp-image-5972" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-destination-connection-manager.png" alt="" width="758" height="563" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-destination-connection-manager.png 758w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-destination-connection-manager-300x223.png 300w" sizes="(max-width: 758px) 100vw, 758px" /><p id="caption-attachment-5972" class="wp-caption-text">Salesforce using SSIS, upsert destination connection manager</p></div></li>
<li>Component Properties
<div id="attachment_5973" style="width: 768px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5973" class="size-full wp-image-5973" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-destination-component-properties.png" alt="Salesforce using SSIS, upsert destination component properties" width="758" height="563" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-destination-component-properties.png 758w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-destination-component-properties-300x223.png 300w" sizes="(max-width: 758px) 100vw, 758px" /><p id="caption-attachment-5973" class="wp-caption-text">Salesforce using SSIS, upsert destination component properties</p></div></li>
<li>Column Mapping
<div id="attachment_5974" style="width: 768px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5974" class="size-full wp-image-5974" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-destination-column-mapping.png" alt="salesforce using SSIS, upsert destination column mapping" width="758" height="563" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-destination-column-mapping.png 758w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-destination-column-mapping-300x223.png 300w" sizes="(max-width: 758px) 100vw, 758px" /><p id="caption-attachment-5974" class="wp-caption-text">salesforce using SSIS, upsert destination column mapping</p></div></li>
<li>Click OK</li>
<li>Drag and drop three <a href="https://zappysys.com/onlinehelp/ssis-powerpack/index.htm#page=trash-destination.htm" target="_blank" rel="noopener">Trash Destination</a> components</li>
</ol>
<h3>Configure Error Handling, Outputs for New, Updated, Failed Records</h3>
<p>If you like to capture which rows are inserted and which rows are updated then you can drag Blue arrows coming from Salesforce destination component. You can also connect Red arrow to detect failed records and reason for error.</p>
<ol>
<li>Connect ZS Salesforce Destination for: New records Output, Updated Records Output and Error Output</li>
<li>Right click on the joining arrows and enable data viewers on all previous connections</li>
<li>Right click in the data flow designer, click Execute Task
<div id="attachment_5975" style="width: 1131px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5975" class="size-full wp-image-5975" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-results.png" alt="Salesforce using SSIS, upsert results" width="1121" height="485" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-results.png 1121w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-results-300x130.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-results-768x332.png 768w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-results-1024x443.png 1024w" sizes="(max-width: 1121px) 100vw, 1121px" /><p id="caption-attachment-5975" class="wp-caption-text">Salesforce using SSIS, upsert results</p></div></li>
</ol>
<h2>Bulk Delete &#8211; Delete data in Salesforce using SSIS</h2>
<p>In this section, we&#8217;re going to perform a bulk delete on Salesforce using SSIS <a href="https://zappysys.com/products/ssis-powerpack/ssis-salesforce-destination-connector/" target="_blank" rel="noopener">ZS Salesforce Destination</a>. In this example we&#8217;re going to list all our source customers (from previous sections), merge it wit the Salesforce Account object, retrieve the Salesforce Account Id and delete the rows. Delete Operation also requires to map Id field so we will use similar technique we used for Update.</p>
<h3>Configure SQL Server Source (OLEDB Source)</h3>
<ol>
<li>Go to data flow designer. Drag and drop OLE DB Source</li>
<li>Open the OLE DEB Source and configure as follow
<div id="attachment_6020" style="width: 516px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6020" class="size-full wp-image-6020" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-delete-oledb-source.png" alt="" width="506" height="406" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-delete-oledb-source.png 506w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-delete-oledb-source-300x241.png 300w" sizes="(max-width: 506px) 100vw, 506px" /><p id="caption-attachment-6020" class="wp-caption-text">salesforce-using-ssis-delete-oledb-source</p></div></li>
</ol>
<h3>Configure SSIS Salesforce Source</h3>
<ol>
<li>Drag and drop <strong>ZS Salesforce Source</strong></li>
<li>Open the ZS Salesforce and configure.</li>
<li>You can select <strong>Query Mode</strong> and enter query like this because we only care about two fields for now. Use query mode whenever possible because it transfers less data.<br />
<pre class="crayon-plain-tag">select Id,AccountNumber from account</pre>
</li>
</ol>
<h3>Configure Sort Transforms</h3>
<p>Now lets sort both previous datasets using Sort Transforms. This is needed to JOIN dataset using Merge Transform (See next section)</p>
<ol>
<li>Drag and drop: 2 Sort and 1 Merge Join components</li>
<li>Connect the OLE DB Source to the <strong>first</strong> Sort component, and configure
<div id="attachment_5983" style="width: 719px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5983" class="size-full wp-image-5983" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-oledb-sort.png" alt="Salesforce using SSIS, Update OLEBD sort" width="709" height="330" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-oledb-sort.png 709w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-oledb-sort-300x140.png 300w" sizes="(max-width: 709px) 100vw, 709px" /><p id="caption-attachment-5983" class="wp-caption-text">Salesforce using SSIS, Update OLEBD sort</p></div></li>
<li>Connect the Salesforce Source to the <strong>second</strong> Sort component, and configure
<div id="attachment_5984" style="width: 720px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5984" class="size-full wp-image-5984" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-salesforce-sort.png" alt="Salesforce using SSIS,update Salesforce sort" width="710" height="332" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-salesforce-sort.png 710w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-update-salesforce-sort-300x140.png 300w" sizes="(max-width: 710px) 100vw, 710px" /><p id="caption-attachment-5984" class="wp-caption-text">Salesforce using SSIS,update Salesforce sort</p></div></li>
</ol>
<h3>Configure Merge Transforms</h3>
<p>No next step would be to join previous datasets based on AccountNumber and then we will output Id from Salesforce which is needed for later step.</p>
<ol>
<li>Now drag Merge Transform from SSIS toolbox
<div id="attachment_6267" style="width: 448px" class="wp-caption alignnone"><a href="https://zappysys.com/blog/wp-content/uploads/2018/12/ssis-merge-join-transform-toolbox-item.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6267" class="size-full wp-image-6267" src="https://zappysys.com/blog/wp-content/uploads/2018/12/ssis-merge-join-transform-toolbox-item.png" alt="Drag SSIS Merge Join Transform from Toolbox" width="438" height="340" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/ssis-merge-join-transform-toolbox-item.png 438w, https://zappysys.com/blog/wp-content/uploads/2018/12/ssis-merge-join-transform-toolbox-item-300x233.png 300w" sizes="(max-width: 438px) 100vw, 438px" /></a><p id="caption-attachment-6267" class="wp-caption-text">Drag SSIS Merge Join Transform from Toolbox</p></div></li>
<li>Connect both Sort to the Merge component (<em>sort from OLEDB Source most be on the left</em>)</li>
<li>Configure the Merge component
<div id="attachment_6021" style="width: 749px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6021" class="size-full wp-image-6021" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-delete-merge.png" alt="" width="739" height="375" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-delete-merge.png 739w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-delete-merge-300x152.png 300w" sizes="(max-width: 739px) 100vw, 739px" /><p id="caption-attachment-6021" class="wp-caption-text">salesforce-using-ssis-delete-merge</p></div></li>
</ol>
<h3>Configure SSIS Salesforce Destination for Bulk Delete</h3>
<ol>
<li>Drag and drop <a href="https://zappysys.com/products/ssis-powerpack/ssis-salesforce-destination-connector/" target="_blank" rel="noopener">ZS Salesforce Destination</a></li>
<li>Connect the Merge and <a href="https://zappysys.com/products/ssis-powerpack/ssis-salesforce-destination-connector/" target="_blank" rel="noopener">ZS Salesforce Destination</a> components. Right click the arrow and enable data viewer</li>
<li>Connection Manager tab
<div id="attachment_5972" style="width: 768px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5972" class="wp-image-5972 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-destination-connection-manager.png" alt="" width="758" height="563" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-destination-connection-manager.png 758w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-upsert-destination-connection-manager-300x223.png 300w" sizes="(max-width: 758px) 100vw, 758px" /><p id="caption-attachment-5972" class="wp-caption-text">Salesforce using SSIS, delete destination connection manager</p></div></li>
<li>Component Properties tab
<div id="attachment_6022" style="width: 768px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6022" class="wp-image-6022 size-full" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-delete-destination-component-properties.png" alt="" width="758" height="563" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-delete-destination-component-properties.png 758w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-delete-destination-component-properties-300x223.png 300w" sizes="(max-width: 758px) 100vw, 758px" /><p id="caption-attachment-6022" class="wp-caption-text">Salesforce using SSIS, delete destination component properties</p></div></li>
<li><div class="su-note"  style="border-color:#e5ae9d;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:#ffc8b7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;">For Delete purposes, Salesforce Destinations needs to map the ID from the Account object.For more information, please use the following link <a href="https://zappysys.zendesk.com/hc/en-us/articles/360008228693-SSIS-Salesforce-Destination-Update-Insert-with-Lookup-Fields-Text-to-Id-">SSIS Salesforce Destination &#8211; Update / Insert with Lookup Fields (Text to Id)</a> </div></div></li>
<li>Column Mapping
<div id="attachment_6025" style="width: 768px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6025" class="size-full wp-image-6025" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-delete-destination-column-mapping.png" alt="" width="758" height="563" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-delete-destination-column-mapping.png 758w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-delete-destination-column-mapping-300x223.png 300w" sizes="(max-width: 758px) 100vw, 758px" /><p id="caption-attachment-6025" class="wp-caption-text">salesforce-using-ssis-delete-destination-column-mapping</p></div></li>
<li>Click OK</li>
<li>Save all changes</li>
<li>Right click in the data flow designer, click Execute Task
<div id="attachment_6023" style="width: 908px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6023" class="size-full wp-image-6023" src="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-delete-results.png" alt="" width="898" height="487" srcset="https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-delete-results.png 898w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-delete-results-300x163.png 300w, https://zappysys.com/blog/wp-content/uploads/2018/12/salesforce-using-ssis-delete-results-768x416.png 768w" sizes="(max-width: 898px) 100vw, 898px" /><p id="caption-attachment-6023" class="wp-caption-text">salesforce-using-ssis-delete-results</p></div></li>
</ol>
<h2>Error Handling</h2>
<p>When working on Salesforce with SSIS, we recommend <a href="https://zappysys.com/onlinehelp/ssis-powerpack/index.htm#page=trash-destination.htm" target="_blank" rel="noopener">Trash Destination</a> component to help debugging outputs without performing DML on destinations.</p>
<p>Main benefits of usage:</p>
<ol>
<li>Enable data viewers and get live feedback of the data</li>
<li>Save the results on different formats (<em>XML, JSON, plain text files</em>).</li>
</ol>
<h2>Conclusion</h2>
<p>In this article, We have seen how easy it is to integrate Salesforce using SSIS. Using drag and drop connector you can perform Bulk insert, update, delete and Upsert operations.</p>
<p>Download <a href="https://zappysys.com/products/ssis-powerpack/" target="_blank" rel="noopener">ZappySys SSIS PowerPack</a> to learn more about other possible scenarios which are not discussed in this article.</p>
<p>&nbsp;</p>
<p>The post <a href="https://zappysys.com/blog/loading-data-salesforce-using-ssis-bulk-insert-update-delete/">Load data in Salesforce using SSIS  – Insert, Upsert, Delete, Update</a> appeared first on <a href="https://zappysys.com/blog">ZappySys Blog</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
