{"id":2467,"date":"2018-01-08T16:55:09","date_gmt":"2018-01-08T16:55:09","guid":{"rendered":"https:\/\/zappysys.com\/blog\/?p=2467"},"modified":"2021-04-08T17:55:02","modified_gmt":"2021-04-08T17:55:02","slug":"read-large-xml-json-file-ssis-fast-process-million-rows","status":"publish","type":"post","link":"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/","title":{"rendered":"How to read large XML \/ JSON file in SSIS (3 Million Rows in 3 Mins)"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p>In this post we will learn how to use <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-xml-source\/\" target=\"_blank\" rel=\"noopener\">ZappySys SSIS XML Source<\/a>\u00a0or <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-json-file-source\/\" target=\"_blank\" rel=\"noopener\">ZappySys SSIS JSON Source<\/a>\u00a0 to read large XML or JSON File (Process 3 Million rows in 3 minutes &#8211; 1.2 GB file).<\/p>\n<p>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.<\/p>\n<h2><span id=\"Prerequisites\">Prerequisites<\/span><\/h2>\n<p>Before we parse very large XML or JSON files using SSIS , you will need to make sure following prerequisites are met.<\/p>\n<ol>\n<li>SSIS designer installed.\u00a0Sometimes it is referred as BIDS or SSDT (<a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/ssdt\/download-sql-server-data-tools-ssdt\" target=\"_blank\" rel=\"noopener\">download it from Microsoft site<\/a>).<\/li>\n<li>Basic knowledge of SSIS package\u00a0development using\u00a0<em>Microsoft SQL Server Integration Services<\/em>.<\/li>\n<li>You have at least two sample files&#8230; One file must be small dataset (less than 10 MB if possible). We will\u00a0 use small dataset file during design mode to get metadata and see data preview on the Component UI.<\/li>\n<li>Second XML file is the big file with full dataset you like to parse at runtime.<\/li>\n<li>Make sure\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/\" target=\"_blank\" rel=\"noopener\"><em>SSIS PowerPack<\/em><\/a>\u00a0is installed.\u00a0<a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/download\/\" target=\"_blank\" rel=\"noopener\">Click here to download<\/a>.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h2>Step-By-Step : Reading large XML file (SSIS XML Source)<\/h2>\n<p>Now let&#8217;s look at how to read large XML file (e.g. 3 Million rows or more) using <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-xml-source\/\" target=\"_blank\" rel=\"noopener\">ZappySys XML Source<\/a>\u00a0in SSIS. Below steps are identical for\u00a0 <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-json-file-source\/\" target=\"_blank\" rel=\"noopener\">ZappySys JSON Source<\/a>\u00a0 too (Except Step#7).<\/p>\n<ol>\n<li>Open SSIS Designer and drag Data Flow from SSIS Toolbox<\/li>\n<li>Double click Data Flow Task to switch to Data flow designer<\/li>\n<li>Now drag ZS XML Source on the surface from SSIS Toolbox.<\/li>\n<li>Double click ZS XML Source and specify <span class=\"lang:default highlight:0 decode:true crayon-inline \">small dataset file<\/span>\u00a0 path you like to parse. (e.g.\u00a0 c:\\data\\customer_small.xml )<\/li>\n<li>Click on Select Filter button to find Node which will be treated as Array. Once you close the Filter Browse Dialog. Append <span class=\"lang:default highlight:0 decode:true crayon-inline\">&#8211;FAST<\/span>\u00a0 Your Expression may look like below.<br \/>\n<span class=\"lang:default highlight:0 decode:true crayon-inline\">$.Root.Row&#8211;FAST<\/span><\/li>\n<li>Now <strong>uncheck\u00a0\u00a0<\/strong> <span class=\"lang:default highlight:0 decode:true crayon-inline\">Include Parent Columns option<\/span><\/li>\n<li><strong>Check\u00a0<\/strong><span class=\"lang:default highlight:0 decode:true crayon-inline\">Enable Performance Option<\/span><strong><strong><strong>\u00a0 (For JSON Source Skip this step)<\/strong><\/strong><\/strong><div class=\"su-note\"  style=\"border-color:#e5de9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#FFF8B7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">NOTE: Try to enable Performance mode setting after you Select Filter (by using smaller dataset file). Once filter is set you can check enable performance mode and make sure following two settings are correctly set (Option#2 needs new version &#8211; SSIS v4.1+ \/ ODBC v1.4+).<br \/>\n(1) On <strong>Array Handling Tab<\/strong> &#8211; Set Array node name (must be <strong>only one entry<\/strong>). For example your Filter is $.DATA.ORDER[*] then you can enter <span class=\"lang:default decode:true crayon-inline\">ORDER<\/span><br \/>\n(2) On <strong>Advanced Filter Options Tab<\/strong> &#8211; Enter all unwanted Tag names you like to Skip. For example if you have other arrays like PRODUCT or CUSTOMER then enter <span class=\"lang:default decode:true crayon-inline \">PRODUCT,CUSTOMER<\/span><br \/>\n<\/div><\/div><strong><strong><br \/>\n<\/strong><\/strong><\/li>\n<li>Your setting may look like below<br \/>\n<strong><strong><br \/>\n<\/strong><\/strong><\/p>\n<div id=\"attachment_2472\" style=\"width: 1006px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-json-xml-file-parse-stream-mode.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2472\" class=\"size-full wp-image-2472\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-json-xml-file-parse-stream-mode.png\" alt=\"Configure XML source or JSON Source for Very Large Data File (Streaming mode for High Performance)\" width=\"996\" height=\"708\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-json-xml-file-parse-stream-mode.png 996w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-json-xml-file-parse-stream-mode-300x213.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-json-xml-file-parse-stream-mode-768x546.png 768w\" sizes=\"(max-width: 996px) 100vw, 996px\" \/><\/a><p id=\"caption-attachment-2472\" class=\"wp-caption-text\">Configure XML source or JSON Source for Very Large Data File (Streaming mode for High Performance)<\/p><\/div><\/li>\n<li>Click Preview to verify data (Adjust Filter if needed to extract correct Hierarchy)\n<div id=\"attachment_2473\" style=\"width: 667px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-preview-sample-xml-json-data.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2473\" class=\"size-full wp-image-2473\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-preview-sample-xml-json-data.png\" alt=\"Preview XML or JSON File data using SSIS XML Source or JSON Source\" width=\"657\" height=\"385\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-preview-sample-xml-json-data.png 657w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-preview-sample-xml-json-data-300x176.png 300w\" sizes=\"(max-width: 657px) 100vw, 657px\" \/><\/a><p id=\"caption-attachment-2473\" class=\"wp-caption-text\">Preview XML or JSON File data using SSIS XML Source or JSON Source<\/p><\/div><\/li>\n<li>Click on Columns Tab<\/li>\n<li>Change Scan Row count to 3000 or more and Click on <span class=\"lang:default highlight:0 decode:true crayon-inline \">Refresh Column<\/span>\u00a0.<\/li>\n<li>Select Guess 4x , Check Lock, Check Reset and Click OK like below. At runtime if you ever get error about Data Type Issue you can always adjust this later on too. Make sure Lock column is set to avoid setting reset for manually changed columns. For more information on metadata changes <a href=\"https:\/\/zappysys.com\/blog\/handling-ssis-component-metadata-issues\/\" target=\"_blank\" rel=\"noopener\">check this article<\/a>\n<div id=\"attachment_2470\" style=\"width: 987px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-metadata-scan-options-xml-json-parsing.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2470\" class=\"size-full wp-image-2470\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-metadata-scan-options-xml-json-parsing.png\" alt=\"SSIS Metadata Options - JSON \/ XML File Parsing\" width=\"977\" height=\"661\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-metadata-scan-options-xml-json-parsing.png 977w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-metadata-scan-options-xml-json-parsing-300x203.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-metadata-scan-options-xml-json-parsing-768x520.png 768w\" sizes=\"(max-width: 977px) 100vw, 977px\" \/><\/a><p id=\"caption-attachment-2470\" class=\"wp-caption-text\">SSIS Metadata Options &#8211; JSON \/ XML File Parsing<\/p><\/div><\/li>\n<li>Click OK to save settings.<\/li>\n<li>Now Right click on XML Component &gt; Click Properties. Change <span class=\"lang:default highlight:0 decode:true crayon-inline \">DirectPath<\/span>\u00a0 property to original file path (large file) (e.g. <span class=\"lang:default highlight:0 decode:true crayon-inline\">c:\\data\\customers_large.xml<\/span>\u00a0 ). Save Package.<\/li>\n<li>Now you can run your SSIS Package from Designer or Command line. As you see in the below screenshot that there is virtually no memory pressure when you enable stream mode. Thanks to ZappySys unique XML \/ JSON Parsing Engine. When streaming mode is enabled\u00a0file is not loaded into memory for parsing rather than that it only reads record by record to process very large JSON or XML file.In our below example we used <strong>Windows 7 Desktop, 16GB RAM, 4 Core i7 64 bit CPU<\/strong>. It took around <span class=\"lang:default highlight:0 decode:true crayon-inline \">3 Minutes to Parse 3 Million Records (1.2 GB big XML file)<\/span>\u00a0. If you Parse JSON file then it can be even faster due to compact size.\n<div id=\"attachment_2471\" style=\"width: 1048px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-xml-json-file-example.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2471\" class=\"size-full wp-image-2471\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-xml-json-file-example.png\" alt=\"Reading Very Large XML or JSON File using SSIS (Stream Mode for High Performance)\" width=\"1038\" height=\"696\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-xml-json-file-example.png 1038w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-xml-json-file-example-300x201.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-xml-json-file-example-768x515.png 768w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-xml-json-file-example-1024x687.png 1024w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-xml-json-file-example-272x182.png 272w\" sizes=\"(max-width: 1038px) 100vw, 1038px\" \/><\/a><p id=\"caption-attachment-2471\" class=\"wp-caption-text\">Reading Very Large XML or JSON File using SSIS (Stream Mode for High Performance)<\/p><\/div><\/li>\n<\/ol>\n<h2>Step-By-Step : Reading very large JSON file (SSIS JSON Source)<\/h2>\n<p>Reading very large JSON file using <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/ssis-json-file-source\/\" target=\"_blank\" rel=\"noopener\">ZappySys JSON Source<\/a>\u00a0 has exact same steps described in above section except two changes. You have to use ZS JSON Source and skip Step#7 (Check Enable Performance Mode &#8211; This option is not available JSON Source).<\/p>\n<h2>Parsing very large XML File with Multiple Arrays<\/h2>\n<p>Now let&#8217;s discuss a scenario which can result in OutOfMemory Exception unless you tweak some extra options. Assume you have file structure like below.<br \/>\nNOTE: This will only work in version <strong>4.1.0<\/strong>\u00a0or later (in SSIS PowerPack) or <strong>1.4.0<\/strong> or later for ODBC PowerPack<\/p>\n<pre class=\"lang:xhtml decode:true\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;Data&gt;\r\n\t&lt;Product&gt;....&lt;Product&gt;\r\n\t&lt;Product&gt;....&lt;Product&gt;\r\n\t.... many more....\r\n\t&lt;Product&gt;....&lt;Product&gt;\r\n\t\r\n\t&lt;Customer&gt;....&lt;Customer&gt;\r\n\t&lt;Customer&gt;....&lt;Customer&gt;\r\n\t.... many more....\r\n\t&lt;Customer&gt;....&lt;Customer&gt;\r\n\t\r\n\t&lt;Row&gt;....&lt;Row&gt;\r\n\t&lt;Row&gt;....&lt;Row&gt;\r\n\t.... many more....\r\n\t&lt;Row&gt;....&lt;Row&gt;\r\n&lt;\/Data&gt;<\/pre>\n<p>Notice that in above XML it has 3 different nodes (For Product, Customer and Order). If you try to extract\u00a0Orders it might fail with OutOfMemory Exception because it needs to scan large XML before it can hit First Order node. To solve this issue you can adjust following 2 settings.<\/p>\n<ol>\n<li>On Array Handling Tab you have following\n<pre class=\"\">Row<\/pre>\n<\/li>\n<li>On Advanced Filter Options tab enter Following two nodes which we dont want to extract.\n<pre class=\"\">Product,Customer<\/pre>\n<\/li>\n<\/ol>\n<p>Thats it. This will avoid excessive Memory pressure to find very first node before it can start Stream.<\/p>\n<div id=\"attachment_9286\" style=\"width: 453px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/xml-parse-array-extract.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9286\" class=\"size-full wp-image-9286\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/xml-parse-array-extract.png\" alt=\"Parse XML Array - Performance Mode Setting\" width=\"443\" height=\"150\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/xml-parse-array-extract.png 443w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/xml-parse-array-extract-300x102.png 300w\" sizes=\"(max-width: 443px) 100vw, 443px\" \/><\/a><p id=\"caption-attachment-9286\" class=\"wp-caption-text\">Parse XML Array &#8211; Performance Mode Setting<\/p><\/div>\n<p>&nbsp;<\/p>\n<div id=\"attachment_9287\" style=\"width: 680px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/xml-parse-exclude-nodes-by-name.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9287\" class=\"size-full wp-image-9287\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/xml-parse-exclude-nodes-by-name.png\" alt=\"Parse Large XML - Exclude nodes by name\" width=\"670\" height=\"149\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/xml-parse-exclude-nodes-by-name.png 670w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/xml-parse-exclude-nodes-by-name-300x67.png 300w\" sizes=\"(max-width: 670px) 100vw, 670px\" \/><\/a><p id=\"caption-attachment-9287\" class=\"wp-caption-text\">Parse Large XML &#8211; Exclude nodes by name<\/p><\/div>\n<h2>Conclusion<\/h2>\n<p>As you saw in this article that ZappySys SSIS PowerPack is designed to handle very large dataset in JSON or XML. We also support very large CSV and Excel files too which are not covered in this article. <a href=\"https:\/\/zappysys.com\/products\/ssis-powerpack\/\" target=\"_blank\" rel=\"noopener\">Download SSIS PowerPack<\/a> to explore 70+ more components by yourself to make your ETL simple and Fast.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In this post we will learn how to use ZappySys SSIS XML Source\u00a0or ZappySys SSIS JSON Source\u00a0 to read large XML or JSON File (Process 3 Million rows in 3 minutes &#8211; 1.2 GB file). If you use default settings to read data then it may result into OutOfMemory Exception so we will outline [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2472,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17,62],"tags":[263,148,140],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\r\n<title>How to read large XML \/ JSON file in SSIS (3 Million Rows in 3 Mins) | ZappySys Blog<\/title>\r\n<meta name=\"description\" content=\"How to read large XML \/ JSON file in SSIS (3 Million Rows in 3 Mins) - ZappySys Blog\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"How to read large XML \/ JSON file in SSIS (3 Million Rows in 3 Mins) | ZappySys Blog\" \/>\r\n<meta property=\"og:description\" content=\"How to read large XML \/ JSON file in SSIS (3 Million Rows in 3 Mins) - ZappySys Blog\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/\" \/>\r\n<meta property=\"og:site_name\" content=\"ZappySys Blog\" \/>\r\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/ZappySys\/\" \/>\r\n<meta property=\"article:published_time\" content=\"2018-01-08T16:55:09+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2021-04-08T17:55:02+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-json-xml-file-parse-stream-mode.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"996\" \/>\r\n\t<meta property=\"og:image:height\" content=\"708\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\r\n<meta name=\"author\" content=\"ZappySys\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/zappysys\/\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ZappySys\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/\",\"url\":\"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/\",\"name\":\"How to read large XML \/ JSON file in SSIS (3 Million Rows in 3 Mins) | ZappySys Blog\",\"isPartOf\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-json-xml-file-parse-stream-mode.png\",\"datePublished\":\"2018-01-08T16:55:09+00:00\",\"dateModified\":\"2021-04-08T17:55:02+00:00\",\"author\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82\"},\"description\":\"How to read large XML \/ JSON file in SSIS (3 Million Rows in 3 Mins) - ZappySys Blog\",\"breadcrumb\":{\"@id\":\"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/#primaryimage\",\"url\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-json-xml-file-parse-stream-mode.png\",\"contentUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-json-xml-file-parse-stream-mode.png\",\"width\":996,\"height\":708,\"caption\":\"Configure XML source or JSON Source for Very Large Data File (Streaming mode for High Performance)\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/zappysys.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to read large XML \/ JSON file in SSIS (3 Million Rows in 3 Mins)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/zappysys.com\/blog\/#website\",\"url\":\"https:\/\/zappysys.com\/blog\/\",\"name\":\"ZappySys Blog\",\"description\":\"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/zappysys.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82\",\"name\":\"ZappySys\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g\",\"caption\":\"ZappySys\"},\"sameAs\":[\"http:\/\/www.zappysys.com\/\",\"https:\/\/www.facebook.com\/ZappySys\/\",\"https:\/\/twitter.com\/https:\/\/twitter.com\/zappysys\/\"],\"url\":\"https:\/\/zappysys.com\/blog\/author\/admin\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to read large XML \/ JSON file in SSIS (3 Million Rows in 3 Mins) | ZappySys Blog","description":"How to read large XML \/ JSON file in SSIS (3 Million Rows in 3 Mins) - ZappySys Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/","og_locale":"en_US","og_type":"article","og_title":"How to read large XML \/ JSON file in SSIS (3 Million Rows in 3 Mins) | ZappySys Blog","og_description":"How to read large XML \/ JSON file in SSIS (3 Million Rows in 3 Mins) - ZappySys Blog","og_url":"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/","og_site_name":"ZappySys Blog","article_author":"https:\/\/www.facebook.com\/ZappySys\/","article_published_time":"2018-01-08T16:55:09+00:00","article_modified_time":"2021-04-08T17:55:02+00:00","og_image":[{"width":996,"height":708,"url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-json-xml-file-parse-stream-mode.png","type":"image\/png"}],"author":"ZappySys","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/zappysys\/","twitter_misc":{"Written by":"ZappySys","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/","url":"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/","name":"How to read large XML \/ JSON file in SSIS (3 Million Rows in 3 Mins) | ZappySys Blog","isPartOf":{"@id":"https:\/\/zappysys.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/#primaryimage"},"image":{"@id":"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/#primaryimage"},"thumbnailUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-json-xml-file-parse-stream-mode.png","datePublished":"2018-01-08T16:55:09+00:00","dateModified":"2021-04-08T17:55:02+00:00","author":{"@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82"},"description":"How to read large XML \/ JSON file in SSIS (3 Million Rows in 3 Mins) - ZappySys Blog","breadcrumb":{"@id":"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/#primaryimage","url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-json-xml-file-parse-stream-mode.png","contentUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2018\/01\/ssis-read-very-large-json-xml-file-parse-stream-mode.png","width":996,"height":708,"caption":"Configure XML source or JSON Source for Very Large Data File (Streaming mode for High Performance)"},{"@type":"BreadcrumbList","@id":"https:\/\/zappysys.com\/blog\/read-large-xml-json-file-ssis-fast-process-million-rows\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zappysys.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to read large XML \/ JSON file in SSIS (3 Million Rows in 3 Mins)"}]},{"@type":"WebSite","@id":"https:\/\/zappysys.com\/blog\/#website","url":"https:\/\/zappysys.com\/blog\/","name":"ZappySys Blog","description":"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zappysys.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82","name":"ZappySys","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g","caption":"ZappySys"},"sameAs":["http:\/\/www.zappysys.com\/","https:\/\/www.facebook.com\/ZappySys\/","https:\/\/twitter.com\/https:\/\/twitter.com\/zappysys\/"],"url":"https:\/\/zappysys.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/2467"}],"collection":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/comments?post=2467"}],"version-history":[{"count":9,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/2467\/revisions"}],"predecessor-version":[{"id":9288,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/2467\/revisions\/9288"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media\/2472"}],"wp:attachment":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media?parent=2467"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/categories?post=2467"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/tags?post=2467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}