VOOZH about

URL: https://www.cdata.com/kb/tech/odoo-ssis-task-lookup.rst

⇱ Use the CData SSIS Components to Insert New or Update Existing Odoo Records from SQL Server


Use the CData SSIS Components to Insert New or Update Existing Odoo Records from SQL Server

πŸ‘ Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Easily push SQL Server data to Odoo using the CData SSIS Components. This example uses an SSIS workflow to either insert new records into Odoo or update existing records with data from a SQL Server database.

SQL Server databases are commonly used to store enterprise records. It is often necessary to move this data to other locations. The CData SSIS Components for Odoo allow you to easily transfer data from SQL Server to Odoo.

This article demonstrates how to use the CData SSIS Components for Odoo inside of a SQL Server Integration Services workflow to export data from SQL Server to Odoo, utilizing a lookup component to find and update any existing records or insert new records.

About Odoo Data Integration

Accessing and integrating live data from Odoo has never been easier with CData. Customers rely on CData connectivity to:

  • Access live data from both Odoo API 8.0+ and Odoo.sh Cloud ERP.
  • Extend the native Odoo features with intelligent handling of many-to-one, one-to-many, and many-to-many data properties. CData's connectivity solutions also intelligently handle complex data properties within Odoo. In addition to columns with simple values like text and dates, there are also columns that contain multiple values on each row. The driver decodes these kinds of values differently, depending upon the type of column the value comes from:
    • Many-to-one columns are references to a single row within another model. Within CData solutions, many-to-one columns are represented as integers, whose value is the ID to which they refer in the other model.
    • Many-to-many columns are references to many rows within another model. Within CData solutions, many-to-many columns are represented as text containing a comma-separated list of integers. Each value in that list is the ID of a row that is being referenced.
    • One-to-many columns are references to many rows within another model - they are similar to many-to-many columns (comma-separated lists of integers), except that each row in the referenced model must belong to only one in the main model.
  • Use SQL stored procedures to call server-side RFCs within Odoo.

Users frequently integrate Odoo with analytics tools such as Power BI and Qlik Sense, and leverage our tools to replicate Odoo data to databases or data warehouses.


Getting Started


Add the Components

To get started, add a new OLE DB source, CData Odoo lookup, and two CData Odoo destinations (one to handle a lookup with a match and one to handle a lookup without a match) to a new data flow task.

πŸ‘ OLD DB Source, CData Odoo Lookup and CData Odoo Destinations

Configure the OLE DB Source

Follow the steps below to specify properties required to connect to the SQL Server instance.

  1. Open the OLE DB Source and add a new connection. Enter your server and database information here.
  2. In the Data access mode menu, select "Table or view" and select the table or view to export into Odoo. πŸ‘ The SQL Server table to export into Odoo. (Salesforce is shown.)
  3. Close the OLE DB Source wizard and connect it to the CData Odoo Destination.

Create a New Connection Manager for Odoo

Follow the steps below to save connection properties in the Connection Manager.

  1. Create a new Connection manager: In the Connection Manager window, right-click and then click New Connection. The Add SSIS Connection Manager dialog is displayed.
  2. In the Connection Manager type menu, select the CData Odoo Connection Manager.
  3. Configure the connection properties. A typical Odoo connection requires:
    • User
    • Password
    • AccessToken
    πŸ‘ The Connection Manager. (Salesforce is shown.)

Configure the Odoo Lookup

In the lookup component Transform Editor, define mappings from the SQL Server source table into the Odoo lookup table.

  1. Double-click the Odoo lookup to open the lookup component editor.
  2. In the Connection tab, select the Connection manager previously created.
  3. On the Connection tab, specify the Connection manager (or create a new one) and the table into which the data will be upserted. In this case, you will transfer Account records. πŸ‘ The table into which the data will be exported. (Salesforce is shown.)
  4. On the Columns tab, configure the mapping of the primary key from the input columns to the primary key of the lookup columns. πŸ‘ The mappings from SQL Server source to the SSIS lookup component. (Salesforce is shown.)

Configure the Odoo Destinations

Using the lookup component, you know which entries from the data source already exist in Odoo and which ones are new. Configure two Odoo components to handle the situation where a match is found and a match is not found.

Lookup Match Destination

If the lookup component returns a match, update the existing record in Odoo.

  1. Map the Lookup Match Output to a Odoo destination component.
  2. Double-click the Odoo destination to open the destination component editor.
  3. In the Connection Manager tab, select the Connection manager previously created.
  4. Specify the table which will be updated and set the Action to "Update." πŸ‘ The table which will be updated. (Salesforce is shown.)
  5. On the Column Mappings tab, configure the mappings from the input columns to the destination columns (be sure to map the SQL Server primary key column to the Odoo primary key column). πŸ‘ The mappings from lookup component to the destination component. (Salesforce is shown.)

Lookup No Match Destination

If the lookup component does not return a match, add a new record to Odoo.

  1. Map the Lookup No Match Output to a Odoo destination component.
  2. Double-click the Odoo destination to open the destination component editor.
  3. In the Connection Manager tab, select the Connection manager previously created.
  4. Specify the table into which the new record will be inserted and set the Action to "Insert." πŸ‘ The table into which the new record will be inserted. (Salesforce is shown.)
  5. On the Column Mappings tab, configure the mappings from the input columns to the destination columns. πŸ‘ The mappings from lookup component to the destination component. (Salesforce is shown.)

Run the Project

You can now run the project. After the SSIS Task has finished executing, data from your SQL table will be exported to the chosen table.

πŸ‘ The completed upsert. (Salesforce is shown.)

Ready to get started?

Download a free trial of the Odoo SSIS Component to get started:

 Download Now

Learn more:

πŸ‘ Odoo Icon
Odoo SSIS Components

Powerful SSIS Source & Destination Components that allows you to easily connect SQL Server with live Odoo ERP data through SSIS Workflows.

Use the Odoo Data Flow Components to synchronize with Odoo ERP constructs. Perfect for data synchronization, local back-ups, workflow automation, and more!