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:
    • 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 for SSIS runtime, SQL Server Standard Edition or above is required to run our software. SQL Server Express or Web editions are not supported due to their own limitations.

    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).

    • When targeting SSIS 2016, you would use SSDT for Visual Studio 2015 available for download at https://msdn.microsoft.com/mt186501.aspx
      • Note that this SSDT installation can be used to target SSIS 2014 or 2012 as well.
    • When targeting SSIS 2014, you can use either one of the following:
    • When targeting SSIS 2012, you can use any one of the following:
    • When targeting SSIS 2008 R2 or earlier, you would have to install 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 Server

Indicate the IP address or URL to a valid proxy server here.

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.

(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 secting 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 seperatly. 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 (since v3.0) - 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.

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 (since v2.3) - Contains the newly created Oracle CRM On Demand record's Id field value. 
  • IsNew (since v2.3) - 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. 

Contact Us

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