SimpleJdbc,请求的转换无效
SimpleJdbc, Invalid Conversion Requested
使用 Oracle 数据库
这是我的测试方法
public void testConnection(int a, int b) {
this.jdbcTemplateObject = new JdbcTemplate(mysqlDataSource());
SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplateObject).withCatalogName("packageName").withProcedureName("myProcedureName");
SqlParameterSource in = new MapSqlParameterSource().addValue("arg1", a);
SqlParameterSource in2 = new MapSqlParameterSource().addValue("arg2", b);
Map<String, Object> out = jdbcCall.execute(in,in2);
下面是我的程序
PROCEDURE get_misc_shipment_type (a IN NUMBER,
b IN NUMBER,
c OUT VARCHAR2,
d OUT VARCHAR2);
我的数据源连接很好,我验证了数据库正在连接,但它抛出了这个错误,
callableStatementCallback; uncategorized SQLException for SQL [{call XX_RATELINX_SHIPPING_ENGINE.GET_MISC_SHIPMENT_TYPE(?, ?, ?, ?)}]; SQL state [99999]; error code [17132]; Invalid conversion requested; nested exception is java.sql.SQLException: Invalid conversion requested
我不明白我做错了什么,感谢任何帮助。
我通过改变这个解决了它:
SqlParameterSource in = new MapSqlParameterSource().addValue("arg1", a).addValue("arg2",b);
使用 Oracle 数据库 这是我的测试方法
public void testConnection(int a, int b) {
this.jdbcTemplateObject = new JdbcTemplate(mysqlDataSource());
SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplateObject).withCatalogName("packageName").withProcedureName("myProcedureName");
SqlParameterSource in = new MapSqlParameterSource().addValue("arg1", a);
SqlParameterSource in2 = new MapSqlParameterSource().addValue("arg2", b);
Map<String, Object> out = jdbcCall.execute(in,in2);
下面是我的程序
PROCEDURE get_misc_shipment_type (a IN NUMBER,
b IN NUMBER,
c OUT VARCHAR2,
d OUT VARCHAR2);
我的数据源连接很好,我验证了数据库正在连接,但它抛出了这个错误,
callableStatementCallback; uncategorized SQLException for SQL [{call XX_RATELINX_SHIPPING_ENGINE.GET_MISC_SHIPMENT_TYPE(?, ?, ?, ?)}]; SQL state [99999]; error code [17132]; Invalid conversion requested; nested exception is java.sql.SQLException: Invalid conversion requested
我不明白我做错了什么,感谢任何帮助。
我通过改变这个解决了它:
SqlParameterSource in = new MapSqlParameterSource().addValue("arg1", a).addValue("arg2",b);