1
試圖從Java訪問AS400/DB2存儲過程Spring的JdbcTemplate,試圖從Java訪問AS400/DB2存儲過程Spring的JdbcTemplate
XmlBeanFactory beanFactory2 = new XmlBeanFactory(new ClassPathResource(
"datasource_as400.xml"));
DataSource ds2 = (DataSource) beanFactory2.getBean("dataSource");
jdbc2 = new JdbcTemplate(ds2);
jdbc2.update("{CALL TESTONE(?)}", new Object[] { new String("JOHN") });
,我收到以下錯誤
[DEBUG,SQLErrorCodeSQLExceptionTranslator] Translating SQLException with SQL state '42704', error code '-204', message [[SQL0204] TESTONE in type *N not found.]; SQL was [{CALL TESTONE(?)}] for task [PreparedStatementCallback]
[FATAL,MainBatch] processDonations(): org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [{CALL TESTONE(?)}]; nested exception is java.sql.SQLException: [SQL0204] TESTONE in type *N not found.
我試圖添加架構,但它沒有幫助 – SJS 2012-03-14 19:08:44
另一個想法可能是您的過程期望某種數據類型進來,而Spring將它作爲另一種類型發送?在這種情況下,您可以將「CAST(?AS型)」添加到您的參數中。有時DB2可能會對過程中的數據類型挑剔。 – bhamby 2012-03-14 20:51:21
謝謝galador我們也試過,:( – SJS 2012-03-15 13:59:02