Installation

To install and run SSIS Integration Toolkit for Oracle CRM On Demand, your system must have the following components installed. 

  • A supported SSIS design-time or run-time, which can be one of the following:
    • Azure-SSIS Integration Runtime
    • SSIS 2017
    • SSIS 2016
    • SSIS 2014
    • SSIS 2012
    • SSIS 2008 R2
    • SSIS 2008
    • SSIS 2005

    For SSIS runtime, the installation should be done by using the corresponding SQL Server installation media (most likely in CD/DVD format), and you must select the "Integration Services" component during the installation (as shown below).

    Integration Services Runtime Selection

    Note that when using SQL Server 2014, a cumulative update is required (a recent service pack, such as one of the following, is more preferred) in order to run our software during runtime.

    For SSIS design-time, you should be installing the version of SSDT (SQL Server Data Tools) or BIDS (Business Intelligence Development Studio) that aligns with the SQL Server version that you plan to use for your final deployment (the runtime).

    Target Server Design Time
    Azure-SSIS IR
    SSIS 2017 Any one of the following:
    SSIS 2016 Any one of the following:
    SSIS 2014 Any one of the following:
    SSIS 2012 Any one of the following:
    SSIS 2008 R2 or earlier The Business Intelligence Development Studio that is shipped with the installation media of the corresponding SQL Server version.
  • .NET Framework 3.5
    • For any version before v2.2, .NET Framework 3.5 is required. For v2.2 or later, .NET Framework 3.5 is only required when you use SSIS 2005.
      • If you are using Windows Server 2003, Windows Server 2008, Windows Vista, Windows XP operating systems, you would install .NET framework by downloading it from Microsoft website.
      • If you are using Windows Server 2008 R2 or 2012 family of operating systems, .NET framework 3.5 should be installed using Server Manager program by adding .NET Framework 3.5.1 features.
      • If you are using Windows 8, go to Control Panel -> Programs and Features -> Turn Windows features on or off, then select .NET Framework (includes .NET 2.0 and 3.0).
  • Windows Installer 4.5
    • If you are using Windows Server 2008, Windows Server 2012 family of operating systems or later (including Windows Vista, Windows 7, Windows 8, Windows Server 2012 R2, Windows Server 2016), you do not need to do anything since the latest Windows Installer has been installed by the operating system.
    • If you are using Windows Server 2003 family of operating systems (including Windows XP), you should install Windows Installer 4.5 by downloading it from Microsoft website.

When you have confirmed that your system satisfies the above prerequisites, you can navigate to the KingswaySoft website at http://www.kingswaysoft.com to download the installation package. On the download page you will find two download links. One for x86 systems and one for x64 systems. Make sure to choose and download the correct package for your system. 

download options

Once you click the download link, save the zip file which contains the .msi file. Double click the .msi file to start the setup. A security warning may appear. You can safely accept the warning and continue the setup.

The Setup Wizard will appear. Click ‘Next’ to continue.

Oracle CRM integration installation

Select the checkbox to agree to the terms of the End-User License Agreement. Click 'Next' to continue.

Oracle CRM integration installation

Next, select one of the three setup types that best suits your needs.

Oracle CRM integration installation

Click ‘Install’ to begin the installation.

Oracle CRM integration installation

To complete the installation, select 'Finish'.

Oracle CRM integration installation

Setup a Oracle CRM On Demand Connection Manager

The Oracle CRM On Demand Connection Manager is a SSIS connection manager component that can be used to establish connections with Oracle CRM On Demand.

To add a new connection, right-click the Connection Manager area in your Visual Studio project, and choose "New Connection..." from the context menu. You will be prompted the "Add SSIS Connection Manager" window. Select the "OracleCRMOnDemand" item to add a new Oracle CRM On Demand Connection Manager.

New Connection

Add Oracle CRM Connection Manager

The Oracle CRM On Demand Connection Manager contains the following 3 pages of configuration.

  • General
  • More Info 

General page

The General page allows you to specify connection properties and login credentials to Oracle CRM On Demand.

Oracle CRM Connection Manager

Web Service Address

The Web Service Address field lets you specify the URL to the Oracle CRM On Demand Web Service. It should follow the pattern of: https://secure-ausomx[POD].crmondemand.com/Services/Integration. Where POD is the 3 letter Pod Identifier for your Oracle CRM On Demand instance. This address may vary and can be obtained in the Service section of any WSDL file that you obtain from CRM On Demand -> Admin -> Web Services Administration.

Authentication Mode

Oracle CRM On Demand supports different authentication modes. However, our connection manager currently only supports Login Credentials in SOAP Security Header.

User Name

The User Name allows you to specify the user account used to authenticate with Oracle CRM On Demand.

Password

The Password field allows you to specify the password for the above user account.

Note: By default, the Password is not shown in the Oracle CRM On Demand connection manager's ConnectionString property. This is done by design for security reasons. However, you can include it in your ConnectionString if you want to parameterize your connection manager. The format would be Password=myPassword; (make sure you have a semicolon as the last character). It can be placed anywhere in the ConnectionString property.

Timeout

The Timeout value lets you indicate the length of time (in seconds) to expect a response from a web service call before failing.

Test Connection

After all the connection information has been provided, you may click the "Test Connection" button to test if the user credentials entered can authenticate with Oracle CRM On Demand.

Advanced Settings

The Advanced Settings page allows you to configure your connection to Oracle CRM On Demand to use a proxy server.

Oracle CRM Connection Manager

Proxy Mode (since v4.0)

Proxy Mode option allows to specify how you want to configure the proxy server setting. There are three options available.

  • No Proxy
  • Auto-detect (Using system configured proxy)
  • Manual
Proxy Server

Using Proxy Server  option, you can provide a proxy server to connect to Salesforce.com.

Port

The Port option allows you to specify the port number of the proxy server for the connection.

Username (Proxy Server Authentication)

Username option (under Proxy Server Authentication) allows you to specify the proxy user account.

Password (Proxy Server Authentication)

Password option (under Proxy Server Authentication) allows you to specify the proxy user's password.

Note: The Proxy Password is not included in the connection manager's ConnectionString property by default. This is by design for security reasons. However, you can include it in your ConnectionString if you want to parameterize your connection manager. The format would be ProxyPassword=myProxyPassword;  (make sure you have a semicolon as the last character). It can be anywhere in the ConnectionString.

Retry on Intermittent Errors

This is an option designed to help recover from possible intermittent outages or disruption of service. It prevents the integration process from stopping due to temporary issues. Enabling this option will allow service calls to be retried upon certain types of failure. A service call may be retried up to 3 times before an exception is fired. Retries occur after 0 seconds, 15 seconds, and 60 seconds.

Warning: We have designed our retry feature carefully such that the retry should only occur when it is deemed safe to do so; however, in some occasions such retry service calls could result in the creation of duplicate data.

More Info page

The More Info page shows some basic information about the toolkit. In this page, you can find the version information of the toolkit.

Oracle CRM Connection Manager

Add SSIS Components to Business Intelligence Development Studio's Toolbox

SSIS Integration Toolkit for Oracle CRM On Demand includes two data flow components. They need to be added to the SSIS toolbox before you can use them in a SSIS data flow task.

Note: If you are using SQL Server 2012 development environment, you should not need to do this, as SQL Server 2012 automatically lists all available pipeline components by scanning the system. 

To add the data flow components, create a new data flow task if you do not have one yet and switch to the SSIS data flow page. Right-click on the toolbox area to bring up the context menu, where you can select the "Choose Items..." option as shown below.

choose items

You will be presented with a window called "Choose Toolbox Items". Switch to "SSIS Data Flow Items" tab, and select Oracle CRM On Demand Destination and Oracle CRM On Demand Source components from the list. 

Add Oracle CRM SSIS Components

Both data flow components should now appear in your SSIS Toolbox, where you can drag and drop any of them to the design surface of your SSIS data flow task. 

Using the Oracle CRM On Demand Source Component

The Oracle CRM On Demand Source Component is an SSIS data flow pipeline component that can be used to read / retrieve data from Oracle CRM On Demand.

The component includes the following two pages of configuration.

  • General
  • Columns

General page

The General page allows you to configure various options that will help you retrieve the desired data from Oracle CRM On Demand.

Oracle CRM Source Editor

Connection Manager

The source component requires an active web service connection to Oracle CRM On Demand. The Connection Manager drop-down will show a list of all Oracle CRM On Demand Connection Managers that have been created in the current SSIS package.

Batch Size

A maximum limitation of 100 records per web service result is set by Oracle CRM On Demand. You can change the batch size to suit your preferences.

Source Object WSDL

The Source Object WSDL drop-down lists all available WSDL files. The folder path that is read is determined by the registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\KingswaySoft\SSIS Integration Toolkit for Oracle CRM On Demand\WSDLDirectory.

If the registry key does not exist, the default folder path ([path to Program Files ]\KingswaySoft\SSIS Integration Toolkit for Oracle CRM On Demand\Schemas) will be used. By selecting a value from this drop-down, the component will attempt to read the metadata contained within the selected WSDL file. Additional WSDL files can be obtained from the Oracle CRM On Demand -> Admin -> Web Services Administration page.

Source Object Detected

This text box is a read-only field that displays the object detected from the WSDL file loaded from the Source Object WSDL drop-down.

Child Object

This drop-down list specifies the child object to read from. By default it is left blank meaning only parent fields can be read. When a child object is selected another searchspec textbox will be made available along with another table in the "Columns" page, this allows reading and filtering of both parent and child fields.

Output Timezone (since v4.0)

The output timezone setting determines what format any datetime values read from Oracle should be converted to. There are three options available.

  • Timezone of Connection User: Any datetime values will be converted to the timezone of the connection user based on the user's timezone setting in Oracle CRM On Demand.
  • UTC
  • Local System Timezone (Default): Any datetime values will be converted to the local system time where the package is run.
(Parent/Child) Searchspec Filter

The Searchspec Filter allows you to specify a searchspec query to help filter for the desired records. When a child object is selected, another Searchspec field will be made available allowing you to specify a searchspec query for both the parent and the child object. Please read Oracle Documentation for further details on how to specify a searchspec query.

Refresh Component Button

Clicking the Refresh Component button causes the component to retrieve the latest metadata and update each field to its most recent metadata.

Columns page

The Columns page shows you all available attributes from the object that you specified on the General page. You may indicate which attributes to include in your source component by checking or unchecking the checkbox next to each attribute. In conjunction with the searchspec filter from the General page, each attribute has a Filter column where you can enter search criteria for the attribute.

Oracle CRM Source Editor

Child Objects in the Source Component

When a child is selected in the "Child Object" drop-down list in the "General" page, another table is made available here in the "Columns" page. This allows for selecting and filtering of both parent and child fields. Even though there are two tables there is still only one output, this just makes it easier to select/deselect child and parent fields separately. One thing to note as well is there are fields that exist in both tables. This is a problem because we only have one output. However, if you look at the output columns in the advance editor you will notice all of the child fields are prefixed with the child name (eg. TeamData.).

Data Filtering in the Source Component

There are 2 methods for filtering for the desired data in the Oracle CRM On Demand Source Component. You may add filter criteria in the Searchspec Filter text box, and/or add filtering for each individual field. The 2 methods work together to filter for records that match both filtering techniques.

Example for the Searchspec Filter
In the above screenshot for the source component you can see a filter on the CreatedDate column to filter for records created between the dates 2014-08-01 to 2014-08-17.
The general structure for a filter is: [field name] {operator} {your filter value}.
E.g. [CreatedDate] > '2010-01-01T00:00:00'
You can also search on multiple fields by using an AND/OR
E.g. ([CreatedDate] > '2010-01-01T00:00:00') AND ([AccountName] = 'Acme Company')

Example for the Field specific filtering
Filtering applied on the field level will only apply to that particular field.
The general structure for a filter is: {operator} '{your filter value}'.
E.g. To look for all AccountName that begins with the value 'Test' using the following filter:
LIKE 'Test*'

Reference
The best place to find further information on filtering is to refer to the Oracle Documentation

Using the Oracle On Demand Destination Component

The Oracle On Demand Destination Component is an SSIS data flow pipeline component that can be used to write data to Oracle On Demand. You can create, update, or delete objects with this component. There are three pages of configuration:

  • General
  • Columns
  • Error Handling

General page

Oracle CRM Destination Editor

Connection Manager

The destination component requires an active web service connection to Oracle CRM On Demand. The Connection Manager drop-down will show a list of all Oracle CRM On Demand Connection Managers that have been created in the current SSIS package.

Action

The Action option allows you to specify how data should be written to Oracle CRM On Demand. There are currently four (4) supported action types available.

  • Create: Create new object(s).
  • Update: Update existing object(s).
  • Delete: Delete object(s).
  • Upsert: Insert or update a record depending on whether a match can be found based on the matching fields specified. If there are matches an update will be performed; if there are no matches, the record(s) will be created in Oracle CRM On Demand. When Upsert action is used, at least a matching field has to be specified in the Columns page. Note that the Upsert action only supports a batch size of 1, each record will involves two service calls, with the first one to perform the matching query, and the second one to perform the Create or Update action to write the record to CRM on demand server.
Batch Size

For write actions, a maximum limitation of 20 records per web service call is set by Oracle CRM On Demand. You can change the batch size to suit your preferences.

Note that the Upsert action only supports a batch size of 1. 

WSDL File

The WSDL File drop-down lists all available WSDL files. The folder path that is read is determined by the registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\KingswaySoft\SSIS Integration Toolkit for Oracle CRM On Demand\WSDLDirectory.

If the registry key does not exist, the default folder path ([path to Program Files ]\KingswaySoft\SSIS Integration Toolkit for Oracle CRM On Demand\Schemas) will be used. By selecting a value from this drop-down, the component will attempt to read the metadata contained within the selected WSDL file. Additional WSDL files can be obtained from the Oracle CRM On Demand -> Admin -> Web Services Administration page.

Object Detected

This text box is a read-only field that displays the object detected from the WSDL file loaded from the Source Object WSDL drop-down.

Child Object

This drop-down list specifies the child object to write to. By default this option is left blank meaning only parent fields can be written to. When a child object is selected another field is added to the "Columns" page called "CurrentParent.Id". When writing to a child object you must specify this field. This field acts as a selector meaning it specifies the parent in which the child object belongs to. This is applicable for all three actions.

Input Timezone (since v4.0)

The input timezone setting tells the component what format any incoming datetime values are in, and uses this information to write the correct date to Oracle CRM On Demand. There are three options available.

  • Timezone of Connection User: Any datetime values will be treated as the local time of the connection user (not system) based on the user's timezone setting in Oracle CRM On Demand.
  • UTC
  • Local System Timezone (Default): Any datetime values will be treated as the local system time where the package is run.
Handling of Multiple Matches

It is possible that Upsert action could find multiple matches in the target CRM system. The Handling of Multiple Matches option allows you to specify what action will be taken when such multiple matches are found. There are four options available.

  • Update All: All records found will be updated in Oracle CRM On Demand.
  • Update One: The first record that is found will be updated in Oracle CRM On Demand.
  • Ignore: None of the records found will be updated in Oracle CRM On Demand.
  • Raise an error: None of the records found will be updated in Oracle CRM On Demand, and an Error will be fired.
Refresh Component Button 

Clicking the Refresh Component button causes the component to retrieve the latest metadata and update each attribute to its most recent metadata.

Map Unmapped Fields Button

By clicking this button, the component will try to map any unmapped attributes by matching their names with the input columns from upstream components. This is useful when your source component has recently added more columns, in which case you can use this button to automatically establish the association between input columns and unmapped destination attributes.

Clear All Mappings Button

By clicking this button, the component will reset all your mappings in the destination component.

Columns page

The Columns page allows you to map the columns from upstream components to destination attributes. 

In the Columns page, you will see a grid as shown below.

Oracle CRM Destination Editor

  • Input Column: You can select an input column from an upstream component here.
  • Destination Field: The attribute/field that you want to write data to.
  • Data Type: This column indicates the type of value for the current attribute.
  • Unmap: This button provides a convenient way to unset the mapping for the selected attribute/field.

Error Handling page

The Error Handling page allows you to specify how errors should be handled when they happen. 

Oracle CRM Destination Editor

There are three options available. 

  1. Fail on error
  2. Redirect rows to error output
  3. Ignore error

When the Redirect rows to error output option is selected, rows that failed to write to Oracle CRM On Demand will be redirected to the 'Oracle CRM On Demand Destination Error Output' of the Destination Component. As indicated in the screenshot below, the green output connection represent rows that were successfully written, and the red 'Error Output' connection represents rows that were erroneous. The 'OracleErrorMessage' output column found in the 'Error Output' may contain the error message that was reported by Oracle CRM On Demand or the component itself.

Error Output

Note: Use extra caution when selecting Ignore error option, since the component will remain silent for any errors that have occurred.

In the Error Handling page, there is also an option (since v2.3) that can be used to enable or disable the following output fields for the destination component.

  • OracleCrmId: Contains the newly created Oracle CRM On Demand record's Id field value. 
  • IsNew: Contains value to indicate whether it is a newly created Oracle CRM On Demand record, or an existing one. This is useful when you use Upsert action.

Note: When "Upsert - Update All" is chosen and there are multiple matching records, a single output row of the first match will be redirected to default output. 

License Manager

SSIS Integration Toolkit comes with a license manager program which helps you manage and activate the product license key to be used for the toolkit. The below information is useful for development workstations and Single Server license management. For Azure-SSIS IR deployments, license management and activation will be handled through the PowerShell script, see Running SSIS Integration Toolkit on the Cloud for further details.

Without a commercial license, SSIS Integration Toolkit will operate under the Developer License which is free to use for development or evaluation purpose. Under the developer license, you can use the software within the development tool (SSDT-BI, BIDS, or Visual Studio). 

KingswaySoft License Manager

The only limitation with the free developer license is the inability to run the software outside of the development tool (SSDT-BI, BIDS, or Visual Studio). If you would like to run the software outside the development tool, such as running SSIS packages on a scheduled basis or from a command line, you will need to acquire a license from us.

If you want to test out the functionality by scheduling your SSIS packages, a trial license can be requested. To do so, you can launch License Manager program, then click "Change License Key" button, where you can request a free trial license after filling out the necessary Licensee Information.

KingswaySoft License Manager

If you have received a product license key from us after placing an order through our online shopping cart system, you can also click "Change License Key" button and enter the product license key in order to activate the software to use the fully-featured commercial license. 

Licensee field is where you will specify the company the software is licensed to, you can include you system's machine name for future reference. For example, the Licensee can be "ABC Inc." or "XYZ Corp (SQLSVR-001)." The Contact Email would be the person we reach out to for any license related notices such as renewal reminders.

To request a free trial license or activate a product license key that you have received, you can use Web Service option to complete the process by sending the request to our license server directly. An Internet connection is required when Web Service option is used. This is the option that we recommend.

Alternatively, you can choose the Email option so that the license manager will generate an email for you which you can send to us. The Email option should only be used if your system has no Internet access. It requires manual processing so please expect to wait for 24 to 48 hours before receiving a license file from us. Once you have received the license file from us from through email, you can save it to a local file, which you can then install by clicking "Install License File..." button in License Manager.

If you have acquired a license from us, once the software has been activated, your license manager will be shown as something like below.

KingswaySoft License Manager

Connection Tier will display the number of distinct connections your license supports per connection type within a 24 hour period at runtime. Multiple connections to the same instance are typically treated as 1 distinct connection (exceptions may apply depending on the nature of the service). Selecting the magnify icon will launch the Runtime Connection Usage Summary window which will display counts on the number of connections made per connection type and when the 24 hour period will reset.

License Manager Runtime Connection Usage Summary

You can see your Maintenance Expiry Date in the License Manager program if you are using a perpetual license. By default, your perpetual license comes with a one-year maintenance and upgrade, which entitles you to use any version of the software released before your Maintenance Expiry Date. You can extend it by entering a new maintenance license key that you have acquired from us.

KingswaySoft License Manager

If your commercial license is a subscription license, you will not see the Maintenance Expiry Date option in the License Manager program, since your subscription license comes with maintenance and upgrade for the entire subscription period. Instead you will see your license expiry date and a progress bar with the amount of days left on your subscription.

Note: You must run License Manager program under a local administrative account due to the privileges required to write license file to the system.

Contact Us

If you need any further assistance with the toolkit, please don't hesitate to contact us