Installation
To install and run SSIS Integration Toolkit for Oracle Marketing Cloud, 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 2022
- SSIS 2019
- SSIS 2017
- SSIS 2016
- SSIS 2014
- SSIS 2012
For SSIS run-time, the installation should be done by using the corresponding SQL Server installation media, and you must select the "Integration Services" component during the installation, as shown below:
Note that when using SQL Server 2014, a cumulative update is required (a recent service pack, such as one of the following, is preferred) in order to run our software during runtime.
- SQL Server 2014 Service Pack 2: https://www.microsoft.com/download/details.aspx?id=53168
- SQL Server 2014 Service Pack 1: https://www.microsoft.com/download/details.aspx?id=46694
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 Any one of the following: SSIS 2022 Any one of the following: SSIS 2019 Any one of the following: SSIS 2017 Any one of the following: SSIS 2016 Any one of the following: SSIS 2014 Any one of the following: -
SSDT for Visual Studio 2019
- Packages created using SSDT 2019 need to have their project's TargetServerVersion setting set to "SQL Server 2014" in order to work with SSIS 2014.
-
SSDT for Visual Studio 2017
- Packages created using SSDT 2017 need to have their project's TargetServerVersion setting set to "SQL Server 2014" in order to work with SSIS 2014.
-
SSDT for Visual Studio 2015
- Packages created using SSDT 2015 need to have their project's TargetServerVersion setting set to "SQL Server 2014" in order to work with SSIS 2014.
- SSDT-BI for Visual Studio 2013
SSIS 2012 Any one of the following: - SSDT-BI for Visual Studio 2012 (recommended; most reliable)
-
SSDT for Visual Studio 2019 (not recommended due to potential compatibility issues with ISV solutions)
- Packages created using SSDT 2019 need to have their project's TargetServerVersion setting set to "SQL Server 2012" in order to work with SSIS 2012.
-
SSDT for Visual Studio 2017 (not recommended due to potential compatibility issues with ISV solutions)
- Packages created using SSDT 2017 need to have their project's TargetServerVersion setting set to "SQL Server 2012" in order to work with SSIS 2012.
-
SSDT for Visual Studio 2015
- Packages created using SSDT 2015 need to have their project's TargetServerVersion setting set to "SQL Server 2012" in order to work with SSIS 2012.
-
A Windows Operating System
Windows operating system requirement largely depends on the version of SSIS runtime or design-time selected. We don't have any additional requirements in terms of the Windows operating system as long as it satisfies the minimum requirements of SSIS runtime or design-time. The general guideline is that the newer the operating system is, the better. In summary, our software should work for the following Windows operating systems.
-
For desktop systems (mostly for development workstations)
- We generally recommend Windows 10, version 1507 or greater.
- Windows 8.1, 8, or 7 should work fine with our software installation which supports most SSDT versions and SQL Server 2016 or below, but we highly recommend you upgrade to Windows 10 because of its support status with Microsoft.
-
For server systems (mostly for runtime deployments)
- We generally recommend Windows Server 2016 or greater (Including Windows Server 2019 and potentially future Windows Server versions).
- Windows Server 2012 or Windows Server 2012 R2 should work fine for SSIS versions up to 2016.
-
For desktop systems (mostly for development workstations)
-
.NET Framework
- Our software requires the installation of .NET Framework 4.5.2 or above
- For SSIS 2016 or above, .NET Framework 4.6 (or above) is generally a prerequisite, no additional installation is required.
- For SSIS 2014 or lower, you may turn on the .NET Framework feature or install it by downloading it from the Microsoft website.
- Our software requires the installation of .NET Framework 4.5.2 or above
When you have confirmed that your system satisfies the above prerequisites, you can navigate to the KingswaySoft website at https://www.kingswaysoft.com to download the installation package.
After you have downloaded the package, install the software by following the installation wizard.
Working with SSIS Toolbox
SSIS Toolbox is the first place that you will be looking for our components to be added to your ETL process during the design time.
If you are working with SSIS 2012 or later, SSIS Toolbox should be automatically available once you have an SSIS package opened, provided that you have our software installed properly. If you do not see the SSIS Toolbox, click either the SSIS Toolbox menu option under the SSIS menu or the SSIS Toolbox icon in the design window's upper right corner, as shown below.
Note: When working with the SSIS Toolbox, make sure that you are in the right view in order to see the right components. For instance, if you are looking for a data flow component, you need to make sure that you are in the Data Flow view, not the Control Flow view. Visual Studio shows different components depending on the design view that you are currently working with.
Once the data flow components are available in the SSIS Toolbox, you can start your ETL development by dragging them from the toolbox to the Visual Studio design surface.
Assigning Permissions
Once authorized, the Oracle Marketing Cloud Connection Manager retrieves tokens from the Oracle Marketing Cloud app. These tokens are then stored in the Registry so that once they have expired, our component will automatically request new tokens from Oracle Marketing Cloud to minimize user effort. Existing tokens in the Registry will be replaced with new ones. In order to achieve this, proper permissions must be given to the KingswaySoft folder in the Registry.
Start by opening the Registry Editor, and navigate to the following folder:
- HKEY_LOCAL_MACHINE > SOFTWARE > KingswaySoft > SSIS Integration Toolkit for Oracle Marketing Cloud
- Right-click on the SSIS Integration Toolkit for Oracle Marketing Cloud folder in the KingswaySoft folder and select the Permissions option. Enable the following permissions to give yourself permission to modify this folder.
Using the Oracle Marketing Cloud Connection Manager
The Oracle Marketing Cloud Connection Manager is an SSIS connection manager component that can be used to establish connections with Oracle Marketing Cloud.
To add an Oracle Marketing Cloud connection to your SSIS package, right-click the Connection Manager area in your Visual Studio project, and choose "New Connection..." from the context menu.
You will be prompted with the "Add SSIS Connection Manager" window. Select the "Oracle Marketing Cloud" type to add the new Oracle Marketing Cloud Connection Manager.
The Oracle Marketing Connection Manager contains the following three pages which configure how you want to connect to Oracle Marketing Cloud:
- General
- Advanced Settings
- More Info
General Page
The General page on the Connection Manager allows you to specify general settings for the connection.
- Authentication
-
- Authentication Type
-
Oracle Marketing Cloud supports two types of authentication: Basic and OAuth2. Basic authentication is faster to set up but is considered less secure than OAuth2.
- Basic Authentication
-
Basic authentication for Oracle Marketing Cloud requires the following three properties:
- Company Name: The company name associated with the Oracle Marketing Cloud account
- User Name: The user name of your Oracle Marketing Cloud account
- Password: The password of your Oracle Marketing Cloud account
- OAuth2 Authentication
-
This option enables the component to work with a token file.
- Generate New Token File
-
This type of Authentication would require a token file generated using this button.
- App Type
-
- KingswaySoft: The Connection Manager will use the Client Id and Secret that is provided by KingswaySoft for your convenience when setting up the connection.
- My Own App: Selecting this option will allow you to use your own Client ID and Secret to connect to Oracle Marketing Cloud.
- App Info
-
- Client ID: The Client Id option allows you to specify the unique ID which identifies the application making the request.
- Client Secret: The Client Secret option allows you to specify the client secret belonging to your app.
- Redirect URI: The Redirect URI option allows you to specify the reply URL which was assigned to your app.
- Sign In & Authorize
-
- Use Default Browser to Sign In: When this option is checked the Sign In and Authorize button will open your default web browser in order to complete the OAuth2 authentication. When this option is unchecked, the Sign In and Authorize button will complete the entire OAuth2 authentication process inside of the toolkit.
- Sign In and Authorize: This button allows you to log in to the service endpoint and authorize your app to generate a token.
- Token File
-
- Password: This option allows you to assign a new password for the token file which will be created.
- Save To Token File: This option allows you to specify the location of where the token file will be saved.
- Path to Token File
-
This option allows you to specify the path to the token file on the file system. Now, you can work with SAS URL as well, for the token file path.
- Token File Password
-
This option allows you to specify the password of the selected token file.
Advanced Settings Page
The Advanced Settings page on the Marketing Cloud Connection Manager allows you to specify some advanced and optional settings for the connection.
- Proxy Server Settings
-
- Proxy Mode
-
The Proxy Mode option allows you 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 the Proxy Server option, provide a proxy server to connect to Oracle Marketing Cloud.
- Port
-
The Port option allows you to specify the port number of the proxy server for the connection.
- Username
-
The Username option allows you to specify the proxy user account.
- Password
-
Using the Password option (under Proxy Server Authentication) allows you to specify the proxy user's password.
Note: The Proxy Password is not included in the Oracle Marketing Cloud connection manager's ConnectionString property by default. 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 ProxyPassword=myProxyPassword; (make sure you have a semicolon as the last character). It can be anywhere in the ConnectionString.
- Service Timeout
-
- Timeout (secs)
-
The Timeout (secs) option allows you to specify a timeout value in seconds for the connection. The default value is 120 seconds.
- Miscellaneous Settings
-
- Retry on Intermittent Errors
-
This is an option designed to help recover from possible intermittent outages or disruption of service so the integration does not have to be stopped because of such 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: Although we have carefully designed this feature so that such retries should only happen when it is deemed to be safe to do so. However, in some extreme occasions, such retried service calls could result in the creation of duplicate data.
- Test Connection
- After all the connection information has been provided, you may click the Test Connection button to test if the connection settings entered are valid.
More Info Page
The More Info page shows some basic information about the toolkit. On this page, you can find the version information of the toolkit.
Adding SSIS Components to Business Intelligence Development Studio's Toolbox
SSIS Integration Toolkit for Oracle Marketing Cloud includes two data flow components for use with Oracle Marketing Cloud. They need to be added to the SSIS toolbox before you can use them in an SSIS data flow task.
Note: If you are using SQL Server 2012 or later development environment, you should not need to do this, as SQL Server 2012 or later 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.
You will be presented with a window called "Choose Toolbox Items". Switch to the "SSIS Data Flow Items" tab, and select Oracle Eloqua Destination and Oracle Eloqua Source components from the list.
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 Marketing Cloud Source Component
The Oracle Marketing Cloud Source Component is an SSIS data flow pipeline component that can be used to read/retrieve data from Oracle Marketing Cloud.
The component includes the following two pages to configure how you want to read data from Oracle Marketing Cloud:
- General
- Columns
General Page
The General page of the Oracle Marketing Cloud Source Component allows you to specify the general settings of the component.
- Connection Manager
-
The Oracle Marketing Cloud Source Component requires an Oracle Marketing Cloud connection in order to connect with Oracle Marketing Cloud. The Connection Manager drop-down will show a list of all Oracle Marketing Cloud connection managers that are available to the current SSIS package.
- Source Object
-
The Source Object drop-down lists all of the currently supported objects which you can read from.
- Child Objects
-
The Child Objects drop-down lists all of the child objects supported for the selected source object. Each child object that is selected will create a new output where its data will be directed.
- Bulk API
-
The Batch API specifies whether you want to use Bulk API to read data from your Marketing Cloud system.
Note: This option will only be available to Accounts, Activities, Contacts, and Custom objects.
- Batch Size
-
The Batch Size lets you specify how many records to retrieve per service call to Oracle Marketing Cloud. The batch size can be between 1 and 1000.
- Output Timezone
-
The Output Timezone option lets you specify how all datetime fields should be retrieved. The default value is Local System Timezone. There is also the option to convert to UTC. There is no performance difference between the two options, it simply makes integration easier.
- Polling Throttle Rate (minutes)
-
The Polling Throttle Rate determines the frequency rate to poll the status of the job to determine if it has been completed.
Note: This option will only be available when the Bulk API option is enabled.
- Search
-
Specifies the search criteria used to retrieve entities. The syntax is {field name} {operator} {value} and the supported operators are:
- = (Equal To)
- != (Not equal to)
- > (Greater than)
- < (Less than)
- >= (Greater than or Equal to)
- <= (Less than or Equal to)
See the API Documentation for information about using this parameter.
- General Parameters
-
Each source object will have different parameters that you can set to determine which records are returned and in what order.
Detailed information about common parameters and the syntax of the parameter values can be found here: https://docs.oracle.com/cloud/latest/marketingcs_gs/OMCAC/APIRequests_URLParameters.html
Common parameters include:
Depth: The level of depth of the response. The default is Complete which will return all source object and child object data. Partial and Minimal depth will return less data but will be faster.
sort: Specifies the name of the property used to sort the returned entities.
dir: The sort direction of results, either asc or desc.
orderBy: Specifies the field by which list results are ordered.
lastUpdatedAt: Returns records last updated after the specified date. A date can be entered either as a text date (Jan 1, 2017) or as a unix time integer.
- 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.
- Expression fx Icon
-
Click the blue fx icon to launch SSIS Expression Editor to enable dynamic updates of the property at run time.
- Generate Documentation Icon
-
Click the Generate Documentation icon to generate a Word document that describes the component's metadata including relevant mapping, and so on.
Columns Page
The Columns page of the Oracle Marketing Cloud Source Component shows you all available attributes from the object that you specified on the General page.
The columns page contains a drop-down that lists the source object from the general page and any available children. Output columns can be toggled on.
Using the Oracle Marketing Cloud Destination Component
The Oracle Marketing Cloud Destination Component is an SSIS data flow pipeline component that can be used to write data to Oracle Marketing Cloud. You can Create, Update, Upsert, or Delete objects with this component. There are three pages of configuration:
- General
- Columns
- Error Handling
The General page is used to specify general settings for the Oracle Marketing Cloud Destination Component. The Columns page allows you to map the columns from upstream components to Oracle Marketing Cloud fields in the destination object. The Error Handling page allows you to specify how errors should be handled when they occur.
General page
The General page allows you to specify general settings for the component.
- Connection Manager
-
The Oracle Marketing Cloud Destination Component requires an Oracle Marketing Cloud connection. The Connection Manager option will show all Oracle Marketing Cloud connection managers that have been created in the current SSIS package or project.
- Destination Object
-
The Destination Object option allows you to specify which object to write data to. A drop-down with the available objects is listed here.
- Bulk API
-
Use Bulk API option dictates whether you want to use Eloqua Bulk API to write to your Eloqua system. By default, this option is not selected.
Note: This option will only be available to Upsert action to Account, Contact, and Custom objects.
- Action
-
The Action option allows you to specify how data should be written to Oracle Marketing Cloud. There are currently three (3) supported action types available but not every object supports every action. Available actions include:
- Create: Create new record(s).
- Update: Update existing record(s). The primary field is required.
- Upsert: Update any existing record(s) in Eloqua if matching can be found, otherwise create a new record with the information from the upstream pipeline components.
- Delete: Deletes record(s). The primary field is required.
- Input Timezone
-
The Input Timezone option specifies the timezone of all incoming datetime fields. This will indicate whether the datetime fields should be converted from the Local Time or kept in UTC format when writing to the Oracle Marketing Cloud server.
- Batch Size
-
The Batch Size lets you specify how many records to send per service call to Marketing Cloud when Bulk API is enabled.
- Polling Throttle Rate (minutes)
-
The Polling Throttle Rate determines the frequency rate to poll the status of the job to determine if it has been completed.
Note: This option will only be available when the Bulk API option is enabled.
- Update Multiple Matched Records
-
Use the Update Multiple Matched Records option to specify whether or not imported data will be mapped to multiple existing records when Bulk API is enabled.
- Child Object Settings
-
The Child Object Settings grid lists all available secondary inputs and allows them to be mapped to child objects of the destination object.
- 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 Oracle Marketing Cloud 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.
- Expression fx Icon
-
Click the blue fx icon to launch SSIS Expression Editor to enable dynamics update of the property at run time.
- Generate Documentation Icon
-
Click the Generate Documentation icon to generate a Word document that describes the component's metadata including relevant mapping, and so on.
Columns Page
The Columns page of the Oracle Marketing Cloud Destination Component allows you to map the columns from upstream components to destination attributes.
Select Input: The select input dropdown allows you to select which input will be displayed in the mapping grid, either the primary input or one of the secondary inputs. Primary input will have a field called _LinkId which is matched a field called _ParentLinkId in each secondary child input.
On the Columns page, you would see a grid that contains four columns as shown below.
- Input Column: You can select an input column from an upstream component here.
- Oracle Eloqua Field: The Oracle Marketing Cloud field that you are writing data.
- Data Type: This column indicates the type of value for the current field.
- Unmap: This column can be used to unmap the field from the upstream input column, or otherwise it can be used to map the field to an upstream input column by matching its name if the field is not currently mapped.
Advanced Page
The Advanced page allows you to specify additional settings for Bulk Writing action in destination.
- Bulk Date Field Time Zone
-
The Bulk Date Field Time Zone option specifies the timezone of all incoming datetime fields.
- Additional Bulk Settings
-
The Additional Bulk Settings grid allows you to specify the details of the bulk import definition.
- Sync Action(since v21.2)
-
The Sync Action grid allows you to specify operations to perform during the sync with a maximum of 10 actions. Available options are:
- Add contacts to contact list
- Remove contacts from contact list
- Subscribe contacts to email group
- Unsubscribe contacts from email group
- Contacts global subscribe
- Contacts global unsubscribe
Note: The Sync Action support will only be available to Contact object.
Error Handling Page
The Error Handling page allows you to specify how errors should be handled when they happen.
There are three options available.
- Fail on error
- Redirect rows to error output
- Ignore error
When the Redirect rows to error output option is selected, rows that failed to write to Oracle Marketing Cloud will be redirected to the 'Error Output' output of the Destination Component. As indicated in the screenshot below, the green output connection represents rows that were successfully written, and the red 'Error Output' connection represents rows that were erroneous. The 'ErrorMessage' output column found in the 'Error Output' may contain the error message that was reported by Oracle Marketing Cloud or the component itself.
Note: Use extra caution when selecting Ignore error option, since the component will remain silent for any errors that have occurred.
Enable Columns for Default Output. Some objects and actions do not use the default output columns provided, these columns will still be created but will contain no values. Both columns are unchecked by default to prevent unused columns in SSIS.
- OracleEloquaRecordId: Contains the newly created record's ID, which you can use to write to log or further process using additional data flow components
Using the Oracle Marketing Cloud Token Manager
Note: Our Azure Active Directory Token Manager has been deprecated and can only be used for the purpose of migrating tokens saved by older versions to the new file format.
The Oracle Marketing Cloud Token Manager is a utility external to SSIS that allows you to add, remove, import, and export your Oracle Marketing Cloud Tokens from machine to machine.
Once you have developed your integration package, and you are getting ready to deploy, this utility will assist you in getting your Oracle Marketing Cloud tokens from your development environment to your integration server:
- Open the Oracle Marketing Cloud Token Manager on your development machine
- Select the tokens you wish to export
- Click the 'Export' button
- Save the 'tokens.json' file
- Move the file manually to your integration server
- Open the Oracle Marketing Cloud Token Manager on your integration server
- Click the 'Import' button
- Select the 'tokens.json' file
This is the simplest way to get your tokens from your development environment to your integration server but in some cases, you may need to add tokens manually, in which case simply click the 'Add' button. Adding tokens in the Oracle Marking Cloud Token Manager is exactly like adding tokens in the Oracle Marketing Cloud Connection Manager.
You may also need to remove tokens from your machine. Simply select the tokens you wish to remove and click the 'Remove' button.
Overall the Oracle Marketing Cloud Token Manager is a simple and secure utility that helps make your integration easy and safe
License Manager
SSIS Integration Toolkit comes with a license manager program that 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 purposes. Under the developer license, you can use the software within the development tool (SSDT-BI, BIDS, or Visual Studio).
The only limitation of 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 the License Manager program, then click the "Change/Update License Key..." button, where you can request a free trial license after filling out the necessary Licensee Information.
If you have received a product license key from us after placing an order through our online shopping cart system, you can also click the "Change/Update License Key..." button and enter the product license key in order to activate the software to use the fully-featured commercial license.
The Licensee field is where you will specify the company the software is licensed to, you can include your 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 the Web Service option to complete the process by sending the request to our license server directly. An Internet connection is required when the 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 through email, you can save it to a local file, which you can then install by clicking the "Install License File..." button in License Manager.
If you have acquired a license from us, once the software has been activated, your license manager should look as shown below:
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.
If you own a perpetual license from us, you should be able to see your Maintenance Expiry Date in the License Manager program. By default, your perpetual license should be instated with a one-year maintenance and upgrade included, which entitles you to use any version of the software released before your Maintenance Expiry Date. To extend your software license maintenance, log in to our portal and navigate to the license key using the License Keys menu. From there, you can renew the license or otherwise reach out to our Client Services team to request their assistance in renewing your license terms.
Note: Perpetual license is only applicable to clients who have previously acquired such a license before the deprecation of the license type. It is no longer offered for any new purchases.
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 number of days left on your subscription.
Note: You must run the License Manager program under a local administrative account due to the privileges required to write license files to the system.
Contact Us
If you need any further assistance with the toolkit, please don't hesitate to contact us.