我正在尝试执行如下的存储PROC:
String test = "exec insertProc @id=?,@value=?";
jdbcTemplate.update(test,new Object[]{object.getID(),object.getValue()});
表格结构:
TestTable :
ID varchar(20)
VALUE decimal(6)
抛出的错误如下所示:
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [exec insertProc @id=?,@value=?]; nested exception is com.sybase.jdbc4.jdbc.SybaseException: Implicit conversion from datatype 'VARCHAR' to 'DECIMAL' is not allowed. Use the CONVERT function to run this query.
答案 0 :(得分:0)
检查你的object.getValue输出。似乎它返回一个字符串而不是float,即varchar而不是decimal。你能找到一个失败的样本数据集吗?