OData Connector for SSIS : Make generic REST API request (bulk write)

Integrate SSIS and OData
Integrate SSIS and OData

Learn how to make generic REST API request (bulk write) using the OData Connector for SSIS. This connector enables you to read and write OData API data effortlessly. Query, integrate, and manage entities and feeds — almost no coding required. We'll walk you through the exact setup.

Let's dive in!

Video tutorial

Watch this quick video to see the integration in action. It walks you through the end-to-end setup, including:

  • Installing the SSIS PowerPack
  • Configuring a secure connection to OData
  • Working with OData data directly inside SSIS
  • Exploring advanced API Source features

Once you are done watching, simply follow the step-by-step written guide below to configure your data source.

Prerequisites

Before we begin, make sure the following prerequisites are met:

  1. SSIS designer installed. Sometimes it is referred as BIDS or SSDT (download it from Microsoft).
  2. Basic knowledge of SSIS package development using Microsoft SQL Server Integration Services.
  3. SSIS PowerPack is installed (if you are new to SSIS PowerPack, then get started!).

Make generic REST API request in SSIS

  1. Open Visual Studio and click Create a new project.

  2. Select Integration Services Project. Enter a name and location for your project, then click OK.

  3. From the SSIS Toolbox, drag and drop a Data Flow Task onto the Control Flow surface, and double-click it:

    Drag Data Flow Task onto Control Flow to use SSIS PowerPack Data Flow components
  4. Make sure you are in the Data Flow Task designer:

    Make sure you are in Data Flow designer in SSIS package
  5. Read the data from the source, using any desired source component. You can even make an API call using the ZappySys JSON/XML/API Source and read data from there. In this example, we will use an OLE DB Source component to read real-time data from a SQL Server database.

  6. From the SSIS Toolbox drag and drop API Destination (Predefined Templates) on the Data Flow Designer surface and connect source component with it, and double click to edit it.
    SSIS API Destination (Predefined Templates) - Drag and Drop

  7. Select New Connection to create a new connection:

    API Destination - OData
    Read and write OData API data effortlessly. Query, integrate, and manage entities and feeds — almost no coding required.
    API Destination - OData

  8. To configure the OData connector, choose one of the following methods:

    • Choose from Popular Connector List: Select a pre-installed service directly from the dropdown menu.
    • Search Online: Use this to find and download a new connector file to your computer.
    • Use Saved/Downloaded File: Once the file is downloaded, browse your local drive to load it into the configuration.

    After that, just click Continue >>:

    OData
    API Destination -
  9. Proceed with selecting the desired Authentication Type. Then select API Base URL (in most cases default one is the right one). Finally, fill in all the required parameters and set optional parameters if needed. You may press a link Steps to Configure which will help set certain parameters. More info is available in Authentication section.

    OData authentication

    No instructions available.

    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to No Authentication [Http]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Finally, hit OK button:
    OData
    No Authentication [Http]
    https://services.odata.org/V3/Northwind/Northwind.svc
    Optional Parameters
    RetryMode RetryWhenStatusCodeMatch
    RetryStatusCodeList 429
    RetryCountMax 5
    RetryMultiplyWaitTime True
    IgnoreSSLCertificateErrors
    SslVersion
    ZappySys Http Connection
    Find full details in the OData Connector authentication reference.
    OData authentication

    No instructions available.

    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to Windows Authentication [Http]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Finally, hit OK button:
    OData
    Windows Authentication [Http]
    https://services.odata.org/V3/Northwind/Northwind.svc
    There are no parameters to configure.
    ZappySys Http Connection
    Find full details in the OData Connector authentication reference.
    OData authentication

    No instructions available.

    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to Basic Authentication [Http]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Finally, hit OK button:
    OData
    Basic Authentication [Http]
    https://services.odata.org/V3/Northwind/Northwind.svc
    Required Parameters
    UserName Fill-in the parameter...
    Password Fill-in the parameter...
    Optional Parameters
    RetryMode RetryWhenStatusCodeMatch
    RetryStatusCodeList 429
    RetryCountMax 5
    RetryMultiplyWaitTime True
    IgnoreSSLCertificateErrors
    SslVersion
    ZappySys Http Connection
    Find full details in the OData Connector authentication reference.
    OData authentication

    No instructions available.

    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to NTLM Authentication [Http]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Finally, hit OK button:
    OData
    NTLM Authentication [Http]
    https://services.odata.org/V3/Northwind/Northwind.svc
    Required Parameters
    UserName (i.e. Domain\UserName) Fill-in the parameter...
    Password Fill-in the parameter...
    Optional Parameters
    RetryMode RetryWhenStatusCodeMatch
    RetryStatusCodeList 429
    RetryCountMax 5
    RetryMultiplyWaitTime True
    IgnoreSSLCertificateErrors
    SslVersion
    ZappySys Http Connection
    Find full details in the OData Connector authentication reference.
    OData authentication

    No instructions available.

    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to Token Authentication [Http]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Finally, hit OK button:
    OData
    Token Authentication [Http]
    https://services.odata.org/V3/Northwind/Northwind.svc
    Required Parameters
    Token Fill-in the parameter...
    Optional Parameters
    AuthScheme Bearer
    AuthHeader Authorization
    RetryMode RetryWhenStatusCodeMatch
    RetryStatusCodeList 429
    RetryCountMax 5
    RetryMultiplyWaitTime True
    IgnoreSSLCertificateErrors
    SslVersion
    ZappySys Http Connection
    Find full details in the OData Connector authentication reference.
    OData authentication

    No instructions available.

    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to OAuth Connection for OData API [OAuth]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Press Generate Token button to generate the tokens.
    5. Finally, hit OK button:
    OData
    OAuth Connection for OData API [OAuth]
    https://services.odata.org/V3/Northwind/Northwind.svc
    Optional Parameters
    GrantType Default
    OAuthVersion Default
    ClientId
    ClientSecret
    UserName
    Password
    Scope
    AuthUrl https://some-domain.com/api/auth
    TokenUrl https://some-domain.com/api/token
    ReturnUrl https://zappysys.com/oauth
    ExtraAttributesForTokenRequest
    ExtraAttributesForAuthRequest
    DoNotIncludeCredentialsInHeader
    DoNotIncludeCredentialsInBody
    RenewBeforeSec
    ExtraHeaders (e.g. x-hdr1:AAA||x-hdr2:BBB)
    ContentType
    EnableCodeVerifier
    RemoveAuthHeader
    CustomAuthHeader
    CustomTokenPrefix
    RetryMode RetryWhenStatusCodeMatch
    RetryStatusCodeList 429
    RetryCountMax 5
    RetryMultiplyWaitTime True
    IgnoreSSLCertificateErrors
    SslVersion
    ZappySys OAuth Connection
    Find full details in the OData Connector authentication reference.

  10. Select Generic Table (Bulk Read / Write) table from the dropdown, then select Insert, Update as operation, and hit Preview Data:

    API Destination - OData
    Read and write OData API data effortlessly. Query, integrate, and manage entities and feeds — almost no coding required.
    OData
    Generic Table (Bulk Read / Write)
    Insert, Update
    Required Parameters
    Url Fill-in the parameter...
    Request Method Fill-in the parameter...
    Optional Parameters
    IsMultiPart
    Filter
    Request Format (Content-Type) Default
    Body {$rows$}
    JsonOutputFormat Multicontent
    DoNotOutputNullProperty
    Batch Size (Default=1) 1
    Meta Detection Order StaticDynamicVirtual
    Input Columns - For Mapping (e.g. MyCol1:string(10); MyCol2:int32 ...) - Use bool, int32, int64, datetime, decimal, double
    Output Columns (e.g. MyCol1:string(10); MyCol2:int32 ...) - Use bool, int32, int64, datetime, decimal, double
    Request Format
    Response Format Default
    Headers Accept: */* || Cache-Control: no-cache
    Csv - Column Delimiter ,
    Csv - Row Delimiter {NEWLINE}
    Csv - Quote Around Value True
    Csv - Always Quote regardless type
    Encoding
    CharacterSet
    Writer DateTime Format
    Csv - Has Header Row True
    Xml - ElementsToTreatAsArray
    Layout Map <?xml version="1.0" encoding="utf-8"?> <!-- Example#1: Output all columns --> <settings> <dataset id="root" main="True" readfrominput="True" /> <map src="*" /> </settings> <!-- Example#2: Records under array <?xml version="1.0" encoding="utf-8"?> <settings singledataset="True"> <dataset id="root" main="True" readfrominput="True" /> <map name="MyArray" dataset="root" maptype="DocArray"> <map src="OrderID" name="OrderID" /> <map src="OrderDate" name="OrderDate" /> </map> </settings> --> <!-- Example#3: Records under nested section <?xml version="1.0" encoding="utf-8"?> <settings> <dataset id="dsRoot" main="True" readfrominput="True" /> <map name="NestedSection"> <map src="OrderID" name="OrderID_MyLabel" /> <map src="OrderDate" name="OrderDate_MyLabel" /> </map> </settings> -->
    SSIS API Destination - Access table operation

  11. Finally, map the desired columns:

    API Destination - OData
    Read and write OData API data effortlessly. Query, integrate, and manage entities and feeds — almost no coding required.
    API Destination - OData

  12. That's it; we successfully configured the POST API Call. In a few clicks we configured the OData API call using ZappySys OData Connector

    Execute Package

Conclusion

And there you have it — a complete guide on how to make generic REST API request (bulk write) in SSIS without writing complex code. All of this was powered by OData Connector, which handled the REST API pagination and authentication for us automatically.

Download the trial now or ping us via chat if you have any questions or are looking for a specific feature (you can also reach out to us by submitting a ticket):

More actions supported by OData Connector

Got another use case in mind? We've documented the exact setups for a variety of essential OData operations directly in SSIS, so you can skip the trial and error. Find your next step-by-step guide below:

More OData integrations

All
Data Integration
Database
BI & Reporting
Productivity
Programming Languages
Automation & Scripting
ODBC applications