<?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 What component to use to execute a MSSQl script that uses variables in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/What-component-to-use-to-execute-a-MSSQl-script-that-uses/m-p/2292442#M65515</link>
    <description>&lt;P&gt;Hi, I need to execute a T-SQL script that has variables and then pass the resultset to a flow, where I need to further process it.I'm using Talend Cloud Data Management Platform(v7.0.1). I've been trying to use a TDBrow MSSQL component to execute the script and then connecting that component with a tlogrow to check if it worked, but i've been unsuccessful. I need to mention that the schema from the result set is going to change depending on the variables that I’ve set on the query.&lt;/P&gt; 
&lt;P&gt;Here is the query that I’m using:&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE @sqlString as varchar(max)&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE @p_schema_name as varchar(255)=”+context.MySchema”;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE @p_table_name as varchar(255)=”+context.MyTable+”;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET @sqlString = ''&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select @p_table_name&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT @sqlString = @sqlString +&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CASE DATA_TYPE&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN 'int' THEN 'ISNULL(RTRIM(CONVERT(varchar(10),' + COLUMN_NAME + ')),'''')'&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN 'datetime' THEN 'ISNULL(RTRIM(CONVERT(varchar(10),' + COLUMN_NAME + ',112)),'''')'&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN 'datetime2' THEN 'ISNULL(RTRIM(CONVERT(varchar(10),' + COLUMN_NAME + ',112)),'''')'&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN 'date' THEN 'ISNULL(RTRIM(CONVERT(varchar(10),' + COLUMN_NAME + ',112)),'''')'&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN 'bit' THEN 'ISNULL(RTRIM(CONVERT(varchar(1),' + COLUMN_NAME + ')),'''')'&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN 'decimal' THEN 'ISNULL(RTRIM(CONVERT(varchar('+ CONVERT(varchar(2),NUMERIC_PRECISION) +'),' + COLUMN_NAME + ')),'''')'&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ELSE 'ISNULL(RTRIM(' + COLUMN_NAME + '),'''')'&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END&amp;nbsp; + '+'&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM INFORMATION_SCHEMA.COLUMNS&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE TABLE_SCHEMA = @p_schema_name and TABLE_NAME = @p_table_name&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select @sqlString&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE @sqlStatementString as varchar(max)&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT @sqlStatementString='SELECT '+'ID'+',HASHBYTES(''MD5'','+ @sqlString+'''I'''+')'+' FROM '+@p_table_name&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select @sqlStatementString&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXEC (@sqlStatementString)&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;I've tried a simpler case, of just having declared one variable and then doing a select @variable,with tDBRow but then I check the tlogrow its coming empty:&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="tsql_script_variables.png" style="width: 914px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009Lz4T.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/134189iB58324B6E0696699/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009Lz4T.png" alt="0683p000009Lz4T.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Can someone please point me out on how to achieve this.&lt;/P&gt; 
&lt;P&gt;Best regards,&lt;/P&gt;</description>
    <pubDate>Sat, 16 Nov 2024 07:51:28 GMT</pubDate>
    <dc:creator>felprie</dc:creator>
    <dc:date>2024-11-16T07:51:28Z</dc:date>
    <item>
      <title>What component to use to execute a MSSQl script that uses variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/What-component-to-use-to-execute-a-MSSQl-script-that-uses/m-p/2292442#M65515</link>
      <description>&lt;P&gt;Hi, I need to execute a T-SQL script that has variables and then pass the resultset to a flow, where I need to further process it.I'm using Talend Cloud Data Management Platform(v7.0.1). I've been trying to use a TDBrow MSSQL component to execute the script and then connecting that component with a tlogrow to check if it worked, but i've been unsuccessful. I need to mention that the schema from the result set is going to change depending on the variables that I’ve set on the query.&lt;/P&gt; 
&lt;P&gt;Here is the query that I’m using:&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE @sqlString as varchar(max)&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE @p_schema_name as varchar(255)=”+context.MySchema”;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE @p_table_name as varchar(255)=”+context.MyTable+”;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET @sqlString = ''&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select @p_table_name&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT @sqlString = @sqlString +&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CASE DATA_TYPE&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN 'int' THEN 'ISNULL(RTRIM(CONVERT(varchar(10),' + COLUMN_NAME + ')),'''')'&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN 'datetime' THEN 'ISNULL(RTRIM(CONVERT(varchar(10),' + COLUMN_NAME + ',112)),'''')'&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN 'datetime2' THEN 'ISNULL(RTRIM(CONVERT(varchar(10),' + COLUMN_NAME + ',112)),'''')'&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN 'date' THEN 'ISNULL(RTRIM(CONVERT(varchar(10),' + COLUMN_NAME + ',112)),'''')'&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN 'bit' THEN 'ISNULL(RTRIM(CONVERT(varchar(1),' + COLUMN_NAME + ')),'''')'&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN 'decimal' THEN 'ISNULL(RTRIM(CONVERT(varchar('+ CONVERT(varchar(2),NUMERIC_PRECISION) +'),' + COLUMN_NAME + ')),'''')'&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ELSE 'ISNULL(RTRIM(' + COLUMN_NAME + '),'''')'&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END&amp;nbsp; + '+'&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM INFORMATION_SCHEMA.COLUMNS&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE TABLE_SCHEMA = @p_schema_name and TABLE_NAME = @p_table_name&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select @sqlString&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE @sqlStatementString as varchar(max)&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT @sqlStatementString='SELECT '+'ID'+',HASHBYTES(''MD5'','+ @sqlString+'''I'''+')'+' FROM '+@p_table_name&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select @sqlStatementString&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXEC (@sqlStatementString)&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;I've tried a simpler case, of just having declared one variable and then doing a select @variable,with tDBRow but then I check the tlogrow its coming empty:&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="tsql_script_variables.png" style="width: 914px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009Lz4T.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/134189iB58324B6E0696699/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009Lz4T.png" alt="0683p000009Lz4T.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Can someone please point me out on how to achieve this.&lt;/P&gt; 
&lt;P&gt;Best regards,&lt;/P&gt;</description>
      <pubDate>Sat, 16 Nov 2024 07:51:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/What-component-to-use-to-execute-a-MSSQl-script-that-uses/m-p/2292442#M65515</guid>
      <dc:creator>felprie</dc:creator>
      <dc:date>2024-11-16T07:51:28Z</dc:date>
    </item>
    <item>
      <title>Re: What component to use to execute a MSSQl script that uses variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/What-component-to-use-to-execute-a-MSSQl-script-that-uses/m-p/2292443#M65516</link>
      <description>&lt;P&gt;just use for this tMSSQLInput component and define schema -&amp;nbsp;&lt;SPAN&gt;p_table_name (String)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;from tMSSQLInput main row to tFlowToIterate, must resolve You tasks&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 04 Aug 2018 03:25:15 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/What-component-to-use-to-execute-a-MSSQl-script-that-uses/m-p/2292443#M65516</guid>
      <dc:creator>vapukov</dc:creator>
      <dc:date>2018-08-04T03:25:15Z</dc:date>
    </item>
    <item>
      <title>Re: What component to use to execute a MSSQl script that uses variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/What-component-to-use-to-execute-a-MSSQl-script-that-uses/m-p/2292444#M65517</link>
      <description>I confirm the proposal of vapukov&lt;BR /&gt;I have the same problem and i resolved it by using this method</description>
      <pubDate>Sat, 04 Aug 2018 03:46:04 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/What-component-to-use-to-execute-a-MSSQl-script-that-uses/m-p/2292444#M65517</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-08-04T03:46:04Z</dc:date>
    </item>
  </channel>
</rss>

