<?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 [resolved] SQL bind variables in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241690#M28764</link>
    <description>Hi, 
&lt;BR /&gt;Is it possible to use bind variable in SQL statement? 
&lt;BR /&gt; 
&lt;BR /&gt;I'd like to perform the following query unsing a tOracleInput: 
&lt;BR /&gt;select * from project where project_type_id = 
&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009MAB6.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/158321i00588DF41617C922/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009MAB6.png" alt="0683p000009MAB6.png" /&gt;&lt;/span&gt;rojectTypeID; 
&lt;BR /&gt;The bind variable projectTypeID could get its value from a context. 
&lt;BR /&gt;The bind variable is much more secure than append a string to the query. 
&lt;BR /&gt;Cheers, 
&lt;BR /&gt;Seb</description>
    <pubDate>Sat, 16 Nov 2024 13:22:38 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2024-11-16T13:22:38Z</dc:date>
    <item>
      <title>[resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241690#M28764</link>
      <description>Hi, 
&lt;BR /&gt;Is it possible to use bind variable in SQL statement? 
&lt;BR /&gt; 
&lt;BR /&gt;I'd like to perform the following query unsing a tOracleInput: 
&lt;BR /&gt;select * from project where project_type_id = 
&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009MAB6.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/158321i00588DF41617C922/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009MAB6.png" alt="0683p000009MAB6.png" /&gt;&lt;/span&gt;rojectTypeID; 
&lt;BR /&gt;The bind variable projectTypeID could get its value from a context. 
&lt;BR /&gt;The bind variable is much more secure than append a string to the query. 
&lt;BR /&gt;Cheers, 
&lt;BR /&gt;Seb</description>
      <pubDate>Sat, 16 Nov 2024 13:22:38 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241690#M28764</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-11-16T13:22:38Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241691#M28765</link>
      <description>to my knowledge this is not possible right out of the box-- fortunately, Talend is the most flexible ETL tool out there so I am sure you can get this to work.
&lt;BR /&gt;I would suggest looking into the database input components. you can probably modify them to use context variables and bind variables.</description>
      <pubDate>Fri, 25 Jun 2010 21:23:01 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241691#M28765</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2010-06-25T21:23:01Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241692#M28766</link>
      <description>Thanks for the information.
&lt;BR /&gt;Too bad that it is not directly possible.
&lt;BR /&gt;Seb</description>
      <pubDate>Tue, 29 Jun 2010 10:23:34 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241692#M28766</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2010-06-29T10:23:34Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241693#M28767</link>
      <description>Bind variables are those variables which are used as a copy of main variable means it takes initiate value of main variable for which this bind variable is declared.</description>
      <pubDate>Fri, 02 Jul 2010 10:09:34 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241693#M28767</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2010-07-02T10:09:34Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241694#M28768</link>
      <description>Yes this requirement is so common that I completely agree that directly binding for example context variables in sql statements would be a very welcomed addition, expecially in an enterprise ETL tool some people expect this feature for granted... parametrized queries... 
&lt;BR /&gt;Resorting always to manual string concatenation seems always a bad hacked in thing...</description>
      <pubDate>Fri, 02 Jul 2010 11:44:44 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241694#M28768</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2010-07-02T11:44:44Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241695#M28769</link>
      <description>I've opened a feature request, in case monitor or comment it
&lt;BR /&gt;
&lt;A href="http://www.talendforge.org/bugs/view.php?id=14120" rel="nofollow noopener noreferrer"&gt;http://www.talendforge.org/bugs/view.php?id=14120&lt;/A&gt;</description>
      <pubDate>Fri, 02 Jul 2010 11:52:18 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241695#M28769</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2010-07-02T11:52:18Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241696#M28770</link>
      <description>Hi 
&lt;BR /&gt;A Use PreparedStatement option has been added to all db row components (Advanced settings section) since 4.0 
&lt;BR /&gt;From our point of view, such an option is more interesting when you have parameters that change for every input row, than on input components. 
&lt;BR /&gt;I think that this answer to the request. 
&lt;BR /&gt;Regards,</description>
      <pubDate>Mon, 19 Jul 2010 22:06:54 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241696#M28770</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2010-07-19T22:06:54Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241697#M28771</link>
      <description>Hi mhirt, 
&lt;BR /&gt;Can you please explain what is wrong with using a Prepared Statement in the input components? 
&lt;BR /&gt;Why not let the user decide whether to use a PreparedStatement or a simple statement. (This is how my tJDBCInput extension does it). 
&lt;BR /&gt;Has there been a discussion or vote on this? Who decided not to implement it? 
&lt;BR /&gt;I find it important because of several reasons: 
&lt;BR /&gt;1) a PS with bind variables is safer because it prevents SQL injection attacks 
&lt;BR /&gt;2) a PS with bind variables simplifies development of JDBC based "on premise" solutions, where the customer can choose the db vendor of their data warehouse. Consider an input query that selects records based on a start date. If bind variables are used the java Date parameter can be passed to the PS and the JDBC driver would take care of the formatting. If bind variables are not used, the ETL developer is responsible for doing the vendor specific adaptations, which results in ugly code &amp;amp; duplication. 
&lt;BR /&gt;Please reconsider issue 
&lt;A href="http://www.talendforge.org/bugs/view.php?id=14120" rel="nofollow noopener noreferrer"&gt;http://www.talendforge.org/bugs/view.php?id=14120&lt;/A&gt; 
&lt;BR /&gt;Regards, 
&lt;BR /&gt; Amnon</description>
      <pubDate>Mon, 19 Jul 2010 22:56:35 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241697#M28771</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2010-07-19T22:56:35Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241698#M28772</link>
      <description>Technically, Prepared Statement are opened only once by loop in a t*Input (in the begin part of the component).
&lt;BR /&gt;Iterating 1000 time over a t*Input would create / close 1000 Prepared Statement over the database which is definitely wrong.
&lt;BR /&gt;In a row component, prepared statement will be created only once (begin part) but will benefits of the main part to be reused for the 1000 rows and this is the exactly the purpose of Prepared Statements.
&lt;BR /&gt;M.</description>
      <pubDate>Mon, 19 Jul 2010 23:26:05 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241698#M28772</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2010-07-19T23:26:05Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241699#M28773</link>
      <description>Why would anyone iterate 100 times of the t*input? 
&lt;BR /&gt;In the input component I modified it seems that a PS is created only once. 
&lt;BR /&gt;Would you like to examine the code? 
&lt;BR /&gt;Amnon</description>
      <pubDate>Mon, 19 Jul 2010 23:34:49 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241699#M28773</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2010-07-19T23:34:49Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241700#M28774</link>
      <description>Is it possible to have a discussion on this matter?&lt;BR /&gt;I am not sure I understand why it is better to support a prepared statement and bind variables in a t*Row component than it is in a t*Input component.&lt;BR /&gt;Amnon</description>
      <pubDate>Thu, 29 Jul 2010 14:18:35 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241700#M28774</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2010-07-29T14:18:35Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241701#M28775</link>
      <description>HI,&lt;BR /&gt;I tried the PS of tOracleRow.&lt;BR /&gt;See the picture below for the implementation.&lt;BR /&gt;But It failed to execute because of wrong java code.&lt;BR /&gt;Can you explain me why?&lt;BR /&gt;Of course this is a very simple case.&lt;BR /&gt;Thanks&lt;BR /&gt;Seb&lt;BR /&gt;Resolved see my next post</description>
      <pubDate>Fri, 22 Oct 2010 10:34:46 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241701#M28775</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2010-10-22T10:34:46Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241702#M28776</link>
      <description>Hi Again, 
&lt;BR /&gt;I've found my problem. 
&lt;BR /&gt;The schema was not defined correctly. 
&lt;BR /&gt;See the picture below.</description>
      <pubDate>Fri, 22 Oct 2010 13:14:12 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241702#M28776</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2010-10-22T13:14:12Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241703#M28777</link>
      <description>Talend team: prepared statements are not only for "parameters that change for every input row". With them we don't have to worry about constant formating. Compare:
&lt;BR /&gt;"select a from tab where date = " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(globalmap.get("somedate"))
&lt;BR /&gt;or this:
&lt;BR /&gt;"select a from tab where date = ?"
&lt;BR /&gt;?</description>
      <pubDate>Thu, 16 Dec 2010 13:12:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241703#M28777</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2010-12-16T13:12:53Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241704#M28778</link>
      <description>Hi,
&lt;BR /&gt;Does anyone know how to do a prepared statements in the lookup of a tMap ?
&lt;BR /&gt;With a lookup I use to use a tOracleInput (with no prepared statement), I tried with a tOracleRow but it does not work.
&lt;BR /&gt;For information, my changing parameter is a context variable initialized every row.
&lt;BR /&gt;Thanks</description>
      <pubDate>Wed, 19 Jan 2011 06:08:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241704#M28778</guid>
      <dc:creator>guymage</dc:creator>
      <dc:date>2011-01-19T06:08:02Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241705#M28779</link>
      <description>I know, wait till I attach rarjpeg . 
&lt;BR /&gt;Since lookup is done in a separate method, you have to pass the lookup key via globalMap. tMap's Expr. key : 
&lt;BR /&gt;null == globalMap.put("row12.TABLE_NAME", row12.TABLE_NAME) || true ? row12.TABLE_NAME : null 
&lt;BR /&gt;This expression puts the value to globalMap and returns it 
&lt;BR /&gt;In tMap settings set Lookup model to "reload at each row" 
&lt;BR /&gt;In tXxxRow globalMap.get() as one of prepared statement parameters 
&lt;BR /&gt;Then you use tParseRecordSet and connect it's output to tMap as lookup row 
&lt;BR /&gt;upd: Attached. You can unpack the job from the screenshot</description>
      <pubDate>Wed, 19 Jan 2011 09:38:41 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241705#M28779</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2011-01-19T09:38:41Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241706#M28780</link>
      <description>Thank you for your answer, but I can not find your attached job ?</description>
      <pubDate>Wed, 19 Jan 2011 21:19:55 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241706#M28780</guid>
      <dc:creator>guymage</dc:creator>
      <dc:date>2011-01-19T21:19:55Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241707#M28781</link>
      <description>Ok, I found the Job (thank you Ilya). 
&lt;BR /&gt;Now it works perfectly, thanks a lot 
&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009MACn.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/154443iC5B8CACEF3D12C6A/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009MACn.png" alt="0683p000009MACn.png" /&gt;&lt;/span&gt;</description>
      <pubDate>Fri, 21 Jan 2011 00:39:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241707#M28781</guid>
      <dc:creator>guymage</dc:creator>
      <dc:date>2011-01-21T00:39:02Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] SQL bind variables</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241708#M28782</link>
      <description>I completely agree. 
&lt;BR /&gt;In addition, with bind variables the DB engine does not need to parse the statement each time that it is executed (at least with Oracle). 
&lt;BR /&gt; 
&lt;BLOCKQUOTE&gt; 
 &lt;TABLE border="1"&gt; 
  &lt;TBODY&gt; 
   &lt;TR&gt; 
    &lt;TD&gt;Hi mhirt,&lt;BR /&gt;Can you please explain what is wrong with using a Prepared Statement in the input components?&lt;BR /&gt;Why not let the user decide whether to use a PreparedStatement or a simple statement. (This is how my tJDBCInput extension does it).&lt;BR /&gt;Has there been a discussion or vote on this? Who decided not to implement it?&lt;BR /&gt;I find it important because of several reasons:&lt;BR /&gt;1) a PS with bind variables is safer because it prevents SQL injection attacks&lt;BR /&gt;2) a PS with bind variables simplifies development of JDBC based "on premise" solutions, where the customer can choose the db vendor of their data warehouse. Consider an input query that selects records based on a start date. If bind variables are used the java Date parameter can be passed to the PS and the JDBC driver would take care of the formatting. If bind variables are not used, the ETL developer is responsible for doing the vendor specific adaptations, which results in ugly code &amp;amp; duplication.&lt;BR /&gt;Please reconsider issue &lt;A href="http://www.talendforge.org/bugs/view.php?id=14120" rel="nofollow noopener noreferrer"&gt;http://www.talendforge.org/bugs/view.php?id=14120&lt;/A&gt;&lt;/TD&gt; 
   &lt;/TR&gt; 
  &lt;/TBODY&gt; 
 &lt;/TABLE&gt; 
&lt;/BLOCKQUOTE&gt;</description>
      <pubDate>Fri, 25 Feb 2011 18:15:19 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-SQL-bind-variables/m-p/2241708#M28782</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2011-02-25T18:15:19Z</dc:date>
    </item>
  </channel>
</rss>

