SSIS Salesforce Connection Manager
PreviousNext

SSIS Salesforce Connection Manager can be used with Salesforce Source, Salesforce Destination, Salesforce API Task, JSON Source and XML Source to read/write Salesforce.com data or execute various actions via API calls.

Download SSIS PowerPack

Content

Video Tutorial

Coming soon...

Step-By-Step

In this tutorial we will learn how to create Salesforce Connection. You can create multiple connection too.
  1. To develop ETLs in Salesforce using SSIS you’ll need a Salesforce Developer account. If you don’t have one, don’t worry, you can create a limited version FREE developer account. Click here to Sign up for FREE developer account.

    In order to connect to Salesforce Storage from SSIS you will need User Name, Password and Security Token. Your keys will look something like this: (this is just example which may differ in your case).
         User Name : yourusername@yourcompanyname.com
    Security Token : 1Abcd2efg3uHL4bda9PTS2l7 
    
    click here to learn how to obtain Salesforce Security Token.
    
  2. Now, You need to Download and Install SSIS ZappySys PowerPack.
  3. Once you finished above steps, Open Visual Studio and Create New SSIS Package Project.
  4. Right click in the Connection Manager panel and click on New Connection.
    SSIS Create New Connection
  5. Select ZS-SALESFORCE Connection Manager from the Connection Managers list and Click on Add Button.
    SSIS Salesforce Connection Manager - ADD
  6. Now in Connection Manager UI, Enter your SalesForce Credentials (User Name, Password and Security Token), and leave all other properties as it is.
    SSIS Salesforce Connection Manager UI
  7. In the Proxy Tab, you can set your proxy settings here.
    SSIS Salesforce Connection Manager - Proxy
  8. In the Error Retry Settings, you can use more settings.
    SSIS Salesforce Connection Manager - Error Setting
  9. Click on Test Connection to check configure correct or not.
  10. Click on OK button to save Salesforce COnnection Manager configure setting UI.
  11. Once you finished, you will see Salesforce connection in Connection Manager panel.
    SSIS Salesforce Connection Manager - Success

Properties

Property Name Description
ServiceType

Available Options (Use numeric value listed in bracket if you have to define expression on this property (for dynamic behavior).

Option Description
Production [0] Production
Sandbox [1] Sandbox
Other [2] Other
ServiceUrl
UseClientCertificate UseClientCertificate
ClientCertificateStorageType CertificateStorageType

Available Options (Use numeric value listed in bracket if you have to define expression on this property (for dynamic behavior).

Option Description
NotSet [0] <Not set>
LocalMachine [1] Stored in LocalMachine Storage Area
CurrentUser [2] Stored in User Storage Area
PfxFile [3] Disk File - PFX (PKCS12) format
ClientCertificateStoreName CertificateStoreName

Available Options (Use numeric value listed in bracket if you have to define expression on this property (for dynamic behavior).

Option Description
NotSet [0] <Not set>
AddressBook [1] AddressBook
AuthRoot [2] AuthRoot
CertificateAuthority [3] CertificateAuthority
Disallowed [4] Disallowed
My [5] My
Root [6] Root
TrustedPeople [7] TrustedPeople
TrustedPublisher [8] TrustedPublisher
ClientCertificateThumbPrint CertificateThumbprint
ClientCertificatePath CertificatePath
ClientCertificatePassword
InstanceUrl Set this URL if you have external system to generate Access Token. You can set AccessToken via Expression at runtime in that case you will need to set InstanceUrl too. If you do not set AccessToken from external system then you do not have to worry about setting Instance URL because it will dynamically fetch your Instance URL from login call.
OwnerChangeOptions Sets options for how to change ownership on write operation for record. You can use comma separated values to control OwnerShip change options (e.g. KeepAccountTeam,TransferAllOwnedCases). You can also add -n and -y suffix to override default execute behavior (e.g. KeepAccountTeam-N, TransferAllOwnedCases-Y). Learn more about each option here https://zappysys.com/links/?id=10141
AllOrNone If true, any failed records in a call cause all changes for the call to be rolled back. Record changes aren't committed unless all records are processed successfully. The default is false. Some records can be processed successfully while others are marked as failed in the call results.
AllowFieldTruncation If true, truncate field values that are too long, which is the behavior in API versions 14.0 and earlier.
Default is false: no change in behavior. If a string or textarea value is too large, the operation fails and the fault code STRING_TOO_LONG is returned.

The following list shows the field types affected by truncation and this header:

anyType, if it represents one of the other datatypes in this list
email
encryptedstring
multipicklist
phone
picklist
string
textarea
AllowSaveOnDuplicates Set to true to save the duplicate record. Set to false to prevent the duplicate record from being saved.
Timeout Request timeout in seconds
UserName
Password
SecurityToken
AccessToken
RefreshToken
ClientSecret
ClientId
ApiVersion API Version to use for SOAP / Bulk API calls. If not supplied then default version is used which is 55.0
AuthType

Available Options (Use numeric value listed in bracket if you have to define expression on this property (for dynamic behavior).

Option Description
Default [0] User Id / Password
OAuth [1] OAuth 2.0 (Useful when 2FA / MFA enabled)
AuthUrl
TokenUrl
RedirectUrl
Scopes
EnablePkceCodeVerifier
ConnectionString
RetainSameConnection
RetryMode Error retry mode. Default is do not retry (None).

Available Options (Use numeric value listed in bracket if you have to define expression on this property (for dynamic behavior).

Option Description
None [0] Do not retry
RetryAny [1] Retry for any web, io, timeout errors
RetryWhenStatusCodeMatch [2] Retry for matching response status code(s) (e.g. 429|501)
RetryWhenMessageMatch [3] Retry if error message contains specified string(s) (e.g. nessage1|message2)
RetryCountMax Maximum number of retry attempts to try before throwing error. This option is ignored if RetryMode is set to None (Do not retry).
RetryMessageList This option retries on a  static retry_wait_time you entered using this formula. new_retry_wait_time = entered retry_wait_time * current_retry_attempt_counter (after each failed attempt attempt_counter is increased). So for example if your retry wait time is set to 3000ms (3sec) then with this option turned on you will see wait as follow: On 1st attempt = 3000*1 wait time= 3000ms, On 2nd attempt 3000*2=6000ms wait time, On 3rd attempt 3000*3=9000ms wait time... so on. This option is ignored if RetryMode is set to None (Do not retry).
RetryMultiplyWaitTime This option increases wait time on each retry attempt using this formula. new_retry_wait_time = specified retry_wait_time * retry_attempt_counter (after each failed attempt retry_attempt_counter is increased by one). So for example if your retry wait time is set to 3000ms (3sec) then with this option turned on you will see wait as follow: On 1st attempt = 3000*1= 3000ms wait time, On 2nd attempt 3000*2=6000ms wait time, On 3rd attempt 3000*3=9000ms wait time... so on until max attempts reached. This option is ignored if RetryMode is set to None (Do not retry).
RetryStatusCodeList Specifies a list of http status codes on which you like to retry. This option can be used if you want to narrow down retry attempts on a very specific list of http status codes separated by pipe rather than any random web exception. Use pipe to separate values e.g. 429|500 so on to retry for only these 3 status codes rather than any web exceptions. Refer to your API documentations to findout which errors you can retry on. This option is ignored if RetryMode is set to None (Do not retry).
RetryWaitTimeMs This value specifies how much time to wait (in milliseconds) before trying again on error(s). This option is ignored if RetryMode is set to None (Do not retry).
UseProxy Enable custom proxy settings (If this is not set then system default proxy will be used. To disable proxy totally uncheck this option and check DoNotUseDefaultProxy option if available)
ProxyUrl Web URL of Proxy server (including port  if necessary). [e.g. http://myproxyserver:8080/]
DoNotUseDefaultProxy Do not use system default proxy (This setting is ignored if UseProxy=true)
ProxyUseCreds Enable passing userid and password to proxy server
ProxyPassword Proxy password
ProxyUserName Proxy username
ConnectByProxy

Setting UI

SSIS Salesforce Connection Manager - Setting UI

References

See Also


Copyrights reserved. ZappySys LLC.