JSON Connector for SSIS

In this article you will learn how to quickly and efficiently integrate JSON data in SSIS without coding. We will use high-performance JSON Connector to easily connect to JSON and then access the data inside SSIS.

JSON Connector can be used to extract and output JSON data coming from REST API web service calls (Web URL) or direct JSON String (variables or DB columns) or local JSON files data. JSON Connector also supports JSONPath to filter data from nested array/sub-documents. This Connector is optimized to work with very large JSON string.

Let's follow the steps below to see how we can accomplish that!

Download Documentation

Video Tutorial - Integrate JSON data in SSIS

This video covers following and more so watch carefully. After watching this video follow the steps described in this article.

  • How to download / install required driver for JSON integration in SSIS
  • How to configure connection for JSON
  • Features about JSON Source (Authentication / Query Language / Examples / Driver UI)
  • Using JSON Connection in SSIS

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

Authentication

ZappySys offers various authentication methods to securely access data from various sources. These authentication methods include OAuth, Basic Authentication, Token-based Authentication, and more, allowing users to connect to a wide range of data sources securely.

ZappySys Authentication is a robust system that facilitates secure access to data from a diverse range of sources. It includes a variety of authentication methods tailored to meet the specific requirements of different data platforms and services. These authentication methods may involve:

  1. OAuth: ZappySys supports OAuth for authentication, which allows users to grant limited access to their data without revealing their credentials. It's commonly used for applications that require access to user account information.

  2. Basic Authentication: This method involves sending a username and password with every request. ZappySys allows users to securely access data using this traditional authentication approach.

  3. Token-based Authentication: ZappySys enables users to utilize tokens for authentication. This method involves exchanging a unique token with each request to authenticate the user's identity without revealing sensitive information.

By implementing these authentication methods, ZappySys ensures the secure and reliable retrieval of data from various sources, providing users with the necessary tools to access and integrate data securely and efficiently. For more comprehensive details on the authentication process, please refer to the official ZappySys documentation or reach out to their support team for further assistance.

For more details, please refer to this link: ZappySys Connections

Read data from JSON in SSIS using JSON Source (Export data)

In this section we will learn how to configure and use JSON Connector in the API Source to extract data from the JSON using JSON Source.

  1. Begin with opening Visual Studio and Create a New Project.

  2. Select Integration Service Project and in new project window set the appropriate name and location for project. And click OK.

  3. In the new SSIS project screen you will find the following:

    1. SSIS ToolBox on left side bar
    2. Solution Explorer and Property Window on right bar
    3. Control flow, data flow, event Handlers, Package Explorer in tab windows
    4. Connection Manager Window in the bottom

    SSIS Project Screen
    Note: If you don't see ZappySys SSIS PowerPack Task or Components in SSIS Toolbox, please refer to this help link.
  4. Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox. Double click on the Data Flow Task to see Data Flow designer.

    SSIS Data Flow Task - Drag and Drop
  5. From the SSIS toolbox drag and drop JSON Source on the dataflow designer surface
    SSIS JSON Source - Drag and Drop

  6. Double click on JSON Source component to configure it.

  7. From the Access Mode dropdown select [File path or web Url] and paste the following Url for this example.

    NOTE: Here for demo, We are using odata API, but you need to refer your own API documentation and based on that you need to use your own API URL and need to configure connection based on API Authentication type.

  8. Now enter JSONPath expression in JSONPath textbox to extract only specific part of JSON string as below ($.value[*] will get content of value attribute from JSON document. Value attribute is array of JSON documents so we have to use [*] to indicate we want all records of that array)

    NOTE: Here, We are using our desired filter, but you need to select your desired filter based on your requirement.

    Click on Preview button to view the parsed JSON string response data and click OK.

    $.value[*]
    Read JSON data from Web Url Example in SSIS
  9. That's it; we are done. In a few clicks we configured the call to JSON using ZappySys JSON Connector

Configuring pagination in the JSON Source

ZappySys JSON Source equips users with powerful tools for seamless data extraction and management from REST APIs, leveraging advanced pagination methods for enhanced efficiency. These options are designed to handle various types of pagination structures commonly used in APIs. Below are the detailed descriptions of these options:

  1. Page-based Pagination: This method works by retrieving data in fixed-size pages from the Rest API. It allows you to specify the page size and navigate through the results by requesting different page numbers, ensuring that you can access all the data in a structured manner.

  2. Offset-based Pagination: With this approach, you can extract data by specifying the starting point or offset from which to begin retrieving data. It allows you to define the number of records to skip and fetch subsequent data accordingly, providing precise control over the data extraction process.

  3. Cursor-based Pagination: This technique involves using a cursor or a marker that points to a specific position in the dataset. It enables you to retrieve data starting from the position indicated by the cursor and proceed to subsequent segments, ensuring that you capture all the relevant information without missing any records.

  4. Token-based Pagination: In this method, a token serves as a unique identifier for a specific data segment. It allows you to access the next set of data by using the token provided in the response from the previous request. This ensures that you can systematically retrieve all the data segments without duplication or omission.

Utilizing these comprehensive pagination features in the ZappySys JSON Source facilitates efficient data management and extraction from REST APIs, optimizing the integration and analysis of extensive datasets.

For more detailed steps, please refer to this link: How to do REST API Pagination in SSIS / ODBC Drivers

Reading large JSON string in SSIS (3 million rows in 3 mins)

Using ZappySys SSIS JSON Source you can read large JSON String data (Process 3 Million rows in 3 minutes – 1.2 GB file). Using --FAST Expression and other options.

If you use default settings to read data then it may result into OutOfMemory Exception so we will outline few techniques which will enable high performance Streaming Mode rather than In-memory load of entire data.

Please refer to this article for the same: How to read large XML / JSON file in SSIS

Load JSON data into SQL Server using Upsert Destination (Insert or Update)

Once you configured the data source, you can load JSON data into SQL Server using Upsert Destination.

Upsert Destination can merge or synchronize source data with the target table. It supports Microsoft SQL Server, PostgreSQL, and Redshift databases as targets. Upsert Destination also supports very fast bulk upsert operation along with bulk delete.

Upsert operation - a database operation which performs INSERT or UPDATE SQL commands based on record's existence condition in the target table. It inserts records that don't have matching records in the target table or updates them, if they do, by matching them by key columns.

Upsert Destination supports INSERT, UPDATE, and DELETE operations, so it is similar to SQL Server's MERGE command, except it can be used directly in SSIS package.

  1. From the SSIS Toolbox drag-and-drop Upsert Destination component onto the Data Flow designer background.

  2. Connect your SSIS source component to Upsert Destination.

  3. Double-click on Upsert Destination component to open configuration window.

  4. Start by selecting the Action from the list.

  5. Next, select the desired target connection or create one by clicking <New [provider] Connection> menu item from the Target Connection dropdown.

  6. Then select a table from the Target Table list or click New button to create a new table based on the source columns.

  7. Continue by checking Insert and Update options according to your scenario (e.g. if Update option is unchecked, no updates will be made).

  8. Finally, click Map All button to map all columns and then select the Key columns to match the columns on:

    Configure SSIS Upsert Destination component to merge data with SQL Server, PostgreSQL, or Redshift table
  9. Click OK to save the configuration.

  10. Run the package and JSON data will be merged with the target table in SQL Server, PostgreSQL, or Redshift:

    Execute Package - Reading data from API Source and load into target
  11. Done!

Deploy and schedule SSIS package

After you are done creating SSIS package, most likely, you want to deploy it to SQL Server Catalog and run it periodically. Just follow the instructions in this article:

Running SSIS package in Azure Data Factory (ADF)

To use SSIS PowerPack in ADF, you must first prepare Azure-SSIS Integration Runtime. Follow this link for detailed instructions:

Conclusion

In this article we showed you how to connect to JSON in SSIS and integrate data without any coding, saving you time and effort. We encourage you to download JSON Connector for SSIS and see how easy it is to use it for yourself or your team.

If you have any questions, feel free to contact ZappySys support team. You can also open a live chat immediately by clicking on the chat icon below.

Download JSON Connector for SSIS Documentation

More integrations

Other connectors for SSIS

Other application integration scenarios for JSON

  • How to connect JSON in SSIS?

  • How to get JSON data in SSIS?

  • How to read JSON data in SSIS?

  • How to load JSON data in SSIS?

  • How to import JSON data in SSIS?

  • How to pull JSON data in SSIS?

  • How to push data to JSON in SSIS?

  • How to write data to JSON in SSIS?

  • How to POST data to JSON in SSIS?

  • Call JSON API in SSIS

  • Consume JSON API in SSIS

  • JSON SSIS Automate

  • JSON SSIS Integration

  • Integration JSON in SSIS

  • Consume real-time JSON data in SSIS

  • Consume real-time JSON API data in SSIS

  • JSON ODBC Driver | ODBC Driver for JSON | ODBC JSON Driver | SSIS JSON Source | SSIS JSON Destination

  • Connect JSON in SSIS

  • Load JSON in SSIS

  • Load JSON data in SSIS

  • Read JSON data in SSIS

  • JSON API Call in SSIS