[ 
https://issues.apache.org/jira/browse/CAMEL-18797?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen resolved CAMEL-18797.
---------------------------------
      Assignee: Claus Ibsen
    Resolution: Fixed

Thanks for reporting and providing a patch

> camel-sql - Conditionally execute ps.getParameterMetaData() in SqlProducer 
> populateStatement
> --------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-18797
>                 URL: https://issues.apache.org/jira/browse/CAMEL-18797
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-sql
>    Affects Versions: 3.14.6, 3.18.4, 3.19.0
>         Environment: Windows 10
> Karaf 4.4.2
> OpenJDK 64-Bit Server VM version 11.0.13+8
> Camel 3.18.4
>            Reporter: John Taylor
>            Assignee: Claus Ibsen
>            Priority: Minor
>             Fix For: 3.14.7, 3.18.5, 3.20.0
>
>         Attachments: patchfile.txt
>
>
> I have a similar problem to the problem described in CAMEL-18399 but instead 
> of the result of getParameterMetadata returning null it is throwing an 
> exception from the driver. The driver is 
> com.microsoft.sqlserver/mssql-jdbc/11.2.1.jre11 although all version are 
> affected as far as I can tell. It looks like a bug in their parser where it 
> fails to parse for valid queries when there are parameters. Where it affects 
> me the most is when sql-92 join syntax includes a parameter, like
> {code:sql}
> select 'x' from TABLEA A 
>    JOIN TABLEB B on A.F1 = B.F1 and B.F2 = :#parm1 
> WHERE A.F1 = :#parm2
> {code}
> Including the parametersCount option doesn't help in this case as it doesn't 
> bypass the getParameterMetadata. My proposal is to only call 
> getParameterMetadata  if the parametersCount isn't set because it is only 
> being used to populate the expected variable anyway.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to