<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SQL | www.valeriofinazzo.it</title>
	<atom:link href="http://www.valeriofinazzo.it/wordpress/tag/sql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.valeriofinazzo.it/wordpress</link>
	<description>Il sito dell&#039;ingegnere Valerio Finazzo</description>
	<lastBuildDate>Sun, 07 Oct 2018 13:26:15 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.0.3</generator>
	<item>
		<title>ECCEZIONI JAVA &#8211; org.springframework.jdbc.BadSqlGrammarException</title>
		<link>http://www.valeriofinazzo.it/wordpress/2018/10/eccezioni-java-org-springframework-jdbc-badsqlgrammarexception/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 07 Oct 2018 13:26:15 +0000</pubDate>
				<category><![CDATA[VARIE]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=521</guid>

					<description><![CDATA[<p>Ultimamente mi sono imbattuto in un problema interessante legato ai driver Oracle: una funzione rilasciata non funzionava nel nuovo ambiente e dava l&#8217;eccezione BadSqlGrammarException e più precisamente . [crayon-6413811a99aa0306629162/] Comincio l&#8217;analisi del problema e la segnalazione fa pensare che l&#8217;applicativo stia invocando in modo errato la function, che effettivamente in ingresso riceve 5 parametri e &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2018/10/eccezioni-java-org-springframework-jdbc-badsqlgrammarexception/" class="more-link">Continua la lettura di <span class="screen-reader-text">ECCEZIONI JAVA &#8211; org.springframework.jdbc.BadSqlGrammarException</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2018/10/eccezioni-java-org-springframework-jdbc-badsqlgrammarexception/">ECCEZIONI JAVA – org.springframework.jdbc.BadSqlGrammarException</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p>Ultimamente mi sono imbattuto in un problema interessante legato ai driver Oracle: una funzione rilasciata non funzionava nel nuovo ambiente e dava l&#8217;eccezione BadSqlGrammarException e più precisamente .</p><pre class="crayon-plain-tag">org.springframework.jdbc.BadSqlGrammarException: CallableStatementCallback; bad SQL grammar [{? = call GETREPORTGENERALE(?, ?, ?, ?)}];</pre><p>Comincio l&#8217;analisi del problema e la segnalazione fa pensare che l&#8217;applicativo stia invocando in modo errato la function, che effettivamente in ingresso riceve 5 parametri e non 4 come fa vedere il log. Rigenero il war pensando che sia stata installata una versione diversa ma il problema persiste. A questo punto penso che il problema possa essere lato db, pertanto rigenero gli script sql e vengono reinstallati nell&#8217;ambiente di riferimento. Niente da fare. Mi accorgo che la versione Oracle tra i 2 ambienti è differente, ma questo non dovrebbe spiegare l&#8217;errore. Non mi resta che controllare i 2 ambienti, in questo caso un tomcat 7 e mi accordo che  i 2 ambienti presentano versioni di driver oracle differenti. Il cliente aveva effettuato l&#8217;aggiornamento della versione Oracle alla 12 e di conseguenza aveva aggiornato la versione del driver Oracle, passando dalla 10 alla 12. Ecco individuato il problema, la chiamata falliva se fatta con il nuovo driver. La chiamata sfrutta la classe SimpleJdbcCall offerta da Spring</p><pre class="crayon-plain-tag">SimpleJdbcCall jdbcCall = new SimpleJdbcCall(getJdbcTemplate()).
withFunctionName("getReportGenerale").
returningResultSet("reportGenerali", new ReportMapper());</pre><p>Per risolvere il problema ho dovuto modificare il sorgente, rinunciare alla SimpleJdbcCall  e utilizzare la classica CallableStatement</p><pre class="crayon-plain-tag">CallableStatement prepareCall = getConnection().prepareCall(getReportGenerale);
prepareCall.registerOutParameter(1,OracleTypes.CURSOR);</pre><p>&nbsp;</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2018%2F10%2Feccezioni-java-org-springframework-jdbc-badsqlgrammarexception%2F&amp;linkname=ECCEZIONI%20JAVA%20%E2%80%93%20org.springframework.jdbc.BadSqlGrammarException" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2018%2F10%2Feccezioni-java-org-springframework-jdbc-badsqlgrammarexception%2F&amp;linkname=ECCEZIONI%20JAVA%20%E2%80%93%20org.springframework.jdbc.BadSqlGrammarException" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2018%2F10%2Feccezioni-java-org-springframework-jdbc-badsqlgrammarexception%2F&amp;linkname=ECCEZIONI%20JAVA%20%E2%80%93%20org.springframework.jdbc.BadSqlGrammarException" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2018%2F10%2Feccezioni-java-org-springframework-jdbc-badsqlgrammarexception%2F&amp;linkname=ECCEZIONI%20JAVA%20%E2%80%93%20org.springframework.jdbc.BadSqlGrammarException" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2018%2F10%2Feccezioni-java-org-springframework-jdbc-badsqlgrammarexception%2F&amp;linkname=ECCEZIONI%20JAVA%20%E2%80%93%20org.springframework.jdbc.BadSqlGrammarException" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2018%2F10%2Feccezioni-java-org-springframework-jdbc-badsqlgrammarexception%2F&#038;title=ECCEZIONI%20JAVA%20%E2%80%93%20org.springframework.jdbc.BadSqlGrammarException" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2018/10/eccezioni-java-org-springframework-jdbc-badsqlgrammarexception/" data-a2a-title="ECCEZIONI JAVA – org.springframework.jdbc.BadSqlGrammarException"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2018/10/eccezioni-java-org-springframework-jdbc-badsqlgrammarexception/">ECCEZIONI JAVA – org.springframework.jdbc.BadSqlGrammarException</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
