How to integrate XML File using SSIS
Learn how to quickly and efficiently connect XML File with SSIS for smooth data access.
Read and write XML files effortlessly. Extract, filter, and sync XML from local files and strings for analytics, reporting, and data pipelines — almost no coding required. You can do it all using the high-performance XML File Connector. We'll walk you through the entire setup.
Ready to dive in? Download the product to jump right in, or follow the step-by-step guide below to see how it works.
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
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:
- SSIS designer installed. Sometimes it is referred as BIDS or SSDT (download it from Microsoft).
- Basic knowledge of SSIS package development using Microsoft SQL Server Integration Services.
- SSIS PowerPack is installed (if you are new to SSIS PowerPack, then get started!).
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.
-
Open Visual Studio and click Create a new project.
-
Select Integration Services Project. Enter a name and location for your project, then click OK.
-
From the SSIS Toolbox, drag and drop a Data Flow Task onto the Control Flow surface, and double-click it:
-
Make sure you are in the Data Flow Task designer:
-
From the SSIS toolbox drag and drop XML Source on the dataflow designer surface
-
Double click on XML Source component to configure it.
-
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)
-
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.
-
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
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.
-
From the SSIS Toolbox drag-and-drop Upsert Destination component onto the Data Flow designer background.
-
Connect your SSIS source component to Upsert Destination.
-
Double-click on Upsert Destination component to open configuration window.
-
Start by selecting the Action from the list.
-
Next, select the desired target connection or create one by clicking <New [provider] Connection> menu item from the Target Connection dropdown.
-
Then select a table from the Target Table list or click New button to create a new table based on the source columns.
-
Continue by checking Insert and Update options according to your scenario (e.g. if Update option is unchecked, no updates will be made).
-
Finally, click Map All button to map all columns and then select the Key columns to match the columns on:
-
Click OK to save the configuration.
-
Run the package and XML File data will be merged with the target table in SQL Server, PostgreSQL, or Redshift:
-
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 XML File in SSIS and integrate data without writing complex code — all of this was powered by XML File Connector.
Download SSIS PowerPack 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):