<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How-to-guide: Bulk Insert to Azure SQL Server in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/How-to-guide-Bulk-Insert-to-Azure-SQL-Server/m-p/2256664#M38985</link>
    <description>&lt;P&gt;From which component? This is weird Azure SQL Servers don't have OS. Maybe is from the Remote Engine?&lt;/P&gt;</description>
    <pubDate>Thu, 23 Apr 2020 02:30:29 GMT</pubDate>
    <dc:creator>maayandermer</dc:creator>
    <dc:date>2020-04-23T02:30:29Z</dc:date>
    <item>
      <title>How-to-guide: Bulk Insert to Azure SQL Server</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-guide-Bulk-Insert-to-Azure-SQL-Server/m-p/2256660#M38981</link>
      <description>&lt;P&gt;If you are trying to import/insert a lot of data to Azure SQL Server (Not on-prem/SQL Server on the Cloud hosted on a VM) you will run into some issues. Especially if you are trying to copy data from one Azure SQL Server to another.&lt;/P&gt; 
&lt;P&gt;My Architecture is Azure Cloud, Talend Clound Data Integration and Remote Engine that is deployed on Virtual Machine in the same Datacentre/region as all my resources (as much as possible) in order to have good performances.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;I will save you all the things that I tried, the main issues are:&lt;/P&gt; 
&lt;OL&gt; 
 &lt;LI&gt;If you will use the tMsSqlOutput will create row-by-row transactions. Not very efficient when you want to insert millions and millions of records.&lt;/LI&gt; 
 &lt;LI&gt;Azrue SQL Server is a PaaS – it doesn’t have the concept of Filesystem. So traditional bulk load will not work here – you cannot just point it to the location of the file because there is no such a thing…&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="1.jpg" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009M0Ry.jpg"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/149741iD4A50908E6F576B6/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009M0Ry.jpg" alt="0683p000009M0Ry.jpg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/LI&gt; 
&lt;/OL&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;The gist of the solution is using 2 jumphosts one of them is the Remote Engine as a Filesystem, the second one is Azure Storage Blob/Container to be used as a location that the Azure SQL Server can access.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;The pipeline that eventually worked was:&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="2.png" style="width: 987px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009M0BI.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/136626i1356C5E8B91D251D/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009M0BI.png" alt="0683p000009M0BI.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;And the Talend pipeline that orchestrate it:&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="3.png" style="width: 780px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009M0S8.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/149117i143BF810619E3D8B/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009M0S8.png" alt="0683p000009M0S8.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Detailed instructions:&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;OL&gt; 
 &lt;LI&gt;First create SAS – Shared Access Signature to the Azure Storage that will be used as your 2nd jumphost&lt;/LI&gt; 
&lt;/OL&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="4.png" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009M0SI.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/128078iFFB3264D03DB9FD1/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009M0SI.png" alt="0683p000009M0SI.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;OL&gt; 
 &lt;LI&gt;If you followed the Instructions correctly you will get a SAS connection string in the following form:&lt;/LI&gt; 
&lt;/OL&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;sv=2015-12-11&amp;amp;ss=b&amp;amp;srt=sco&amp;amp;sp=rwac&amp;amp;se=2017-02-01T00:55:34Z&amp;amp;st=2016-12-29T16:55:34Z&amp;amp;spr=https&amp;amp;sig=copyFromAzurePortal&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Don’t forget to remove the ‘?’ at the beginning of the string after copying the SAS connection string!&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;OL&gt; 
 &lt;LI&gt;The next stage will be to create the credentials in the &lt;STRONG&gt;&lt;U&gt;Target DB.&lt;/U&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/LI&gt; 
&lt;/OL&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;CREATE DATABASE SCOPED CREDENTIAL MyAzureBlobStorageCredential&lt;/P&gt; 
&lt;P&gt;WITH IDENTITY = 'SHARED ACCESS SIGNATURE',&lt;/P&gt; 
&lt;P&gt;SECRET = 'sv=2015-12-11&amp;amp;ss=b&amp;amp;srt=sco&amp;amp;sp=rwac&amp;amp;se=2017-02-01T00:55:34Z&amp;amp;st=2016-12-29T16:55:34Z&amp;amp;spr=https&amp;amp;sig=copyFromAzurePortal';&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;The SECRET is the SAS you created in stage (2)&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;OL&gt; 
 &lt;LI&gt;Now we need to create an External Data Source:&lt;/LI&gt; 
&lt;/OL&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;CREATE EXTERNAL DATA SOURCE MyAzureBlobStorage&lt;/P&gt; 
&lt;P&gt;WITH ( TYPE = BLOB_STORAGE,&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOCATION = '&lt;A href="https://myazureblobstorage.blob.core.windows.net" target="_blank" rel="nofollow noopener noreferrer"&gt;https://myazureblobstorage.blob.core.windows.net&lt;/A&gt;',&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CREDENTIAL= MyAzureBlobStorageCredential);&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Notice that MyAzureBlobStorage is the name of your Storage account&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;OL&gt; 
 &lt;LI&gt;The BULK INSERT instruction itself will look something similar to this:&lt;/LI&gt; 
&lt;/OL&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;BULK INSERT Product&lt;/P&gt; 
&lt;P&gt;FROM 'data/product.csv'&lt;/P&gt; 
&lt;P&gt;WITH ( DATA_SOURCE = ‘MyAzureBlobStorage');&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;*DATA_SOURCE is the EXTERNAL DATA SOURCE that was created at stage (4)&lt;/P&gt; 
&lt;P&gt;** notice the ‘data’ in FROM 'data/product.csv' – it is the Blob in the Azure Storage. You can also add subfolders if needed.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;More info on &lt;A href="https://azure.microsoft.com/en-us/updates/preview-loading-files-from-azure-blob-storage-into-sql-database/" target="_blank" rel="nofollow noopener noreferrer"&gt;here&lt;/A&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;And the result:&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="5.png" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009M0SN.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/150098i99D30AF51395B8AD/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009M0SN.png" alt="0683p000009M0SN.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Cheers&lt;/P&gt; 
&lt;P&gt;Maayan&lt;/P&gt;</description>
      <pubDate>Sat, 16 Nov 2024 07:28:41 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-guide-Bulk-Insert-to-Azure-SQL-Server/m-p/2256660#M38981</guid>
      <dc:creator>maayandermer</dc:creator>
      <dc:date>2024-11-16T07:28:41Z</dc:date>
    </item>
    <item>
      <title>Re: How-to-guide: Bulk Insert to Azure SQL Server</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-guide-Bulk-Insert-to-Azure-SQL-Server/m-p/2256661#M38982</link>
      <description>Good posts, thanks for your sharing! Maayan
&lt;BR /&gt;
&lt;BR /&gt;Regards
&lt;BR /&gt;Shong</description>
      <pubDate>Mon, 29 Oct 2018 07:53:37 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-guide-Bulk-Insert-to-Azure-SQL-Server/m-p/2256661#M38982</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-10-29T07:53:37Z</dc:date>
    </item>
    <item>
      <title>Re: How-to-guide: Bulk Insert to Azure SQL Server</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-guide-Bulk-Insert-to-Azure-SQL-Server/m-p/2256662#M38983</link>
      <description>&lt;P&gt;Hey,&lt;/P&gt;
&lt;P&gt;thanks for the help. Amazing info you have given.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 31 Dec 2018 12:07:17 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-guide-Bulk-Insert-to-Azure-SQL-Server/m-p/2256662#M38983</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-12-31T12:07:17Z</dc:date>
    </item>
    <item>
      <title>Re: How-to-guide: Bulk Insert to Azure SQL Server</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-guide-Bulk-Insert-to-Azure-SQL-Server/m-p/2256663#M38984</link>
      <description>&lt;P&gt;HI ,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;with tdrow I am getting below error&lt;/P&gt;&lt;P&gt;" could not be opened. Operating system error code 5(Access is denied.).I have also tried it with tdbbulkexec in that also I am facing same error .&lt;/P&gt;&lt;P&gt;Please suggest .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 22 Apr 2020 01:22:41 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-guide-Bulk-Insert-to-Azure-SQL-Server/m-p/2256663#M38984</guid>
      <dc:creator>Samridhi</dc:creator>
      <dc:date>2020-04-22T01:22:41Z</dc:date>
    </item>
    <item>
      <title>Re: How-to-guide: Bulk Insert to Azure SQL Server</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-guide-Bulk-Insert-to-Azure-SQL-Server/m-p/2256664#M38985</link>
      <description>&lt;P&gt;From which component? This is weird Azure SQL Servers don't have OS. Maybe is from the Remote Engine?&lt;/P&gt;</description>
      <pubDate>Thu, 23 Apr 2020 02:30:29 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-guide-Bulk-Insert-to-Azure-SQL-Server/m-p/2256664#M38985</guid>
      <dc:creator>maayandermer</dc:creator>
      <dc:date>2020-04-23T02:30:29Z</dc:date>
    </item>
    <item>
      <title>Re: How-to-guide: Bulk Insert to Azure SQL Server</title>
      <link>https://community.qlik.com/t5/Talend-Studio/How-to-guide-Bulk-Insert-to-Azure-SQL-Server/m-p/2256665#M38986</link>
      <description>&lt;P&gt;What can i do if a column is having new line in the data?. While loading into file, it is creating as new row.  So getting error while doing the bulk insert&lt;/P&gt;</description>
      <pubDate>Tue, 21 Sep 2021 15:08:57 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/How-to-guide-Bulk-Insert-to-Azure-SQL-Server/m-p/2256665#M38986</guid>
      <dc:creator>Rathesh</dc:creator>
      <dc:date>2021-09-21T15:08:57Z</dc:date>
    </item>
  </channel>
</rss>

