Introduction

You can connect to your XML File data in SSIS using the high-performance XML File Connector. We'll walk you through the entire setup.

Let's not waste time and get started!

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
  • Working with XML File data directly inside SSIS
  • Exploring advanced XML Source features

Ready to dive in? Download the product to jump right in, or follow the step-by-step guide below to see how it works.

Prerequisites

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

  1. SQL Server Data Tools (SSDT) designer installed for Visual Studio.
  2. SQL Server Integration Services Projects 2022+ Visual Studio extension installed.
  3. SSIS PowerPack is installed.

Read data from XML File in SSIS (Export data)

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

  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. From the SSIS toolbox drag and drop XML Source on the dataflow designer surface
    SSIS XML Source - Drag and Drop

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

  7. From the Access Mode dropdown select [File path or web Url] and you can use select single file by clicking [x] path button or multiple file using wildcard pattern in path.

    Note: If you want to operation with multiple files then use wild card pattern as below 
    (when you use wild card pattern in source path then system will treat target path as folder regardless you end with slash)
    
    C:\SSIS\Test\reponse.xml (will read only single reponse.xml file)
    C:\SSIS\Test\j*.xml (all files starting with file name j)
    C:\SSIS\Test\*.xml (all files with .xml Extension and located under folder subfolder)
    

  8. Now enter Path expression in Path textbox to extract only specific part of XML file.
    Click on Preview button to view the parsed XML string response data and click OK.

    Read XML File data from XML File in SSIS
  9. That's it; we are done. In a few clicks we configured the call to XML File using ZappySys XML File Connector

Reading large XML file in SSIS (3 million rows in 3 mins)

Using ZappySys SSIS XML Source  you can read large XML File (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 file.

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

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

Once you configured the data source, you can load XML File 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 XML File 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 guide, we demonstrated how to connect to XML File in SSIS and integrate your data — all without writing complex code.

Ready to get started? Download SSIS PowerPack now or ping us via chat if you still need help: