这个MySql错误信息是什么意思?
附上mysql-connector-java-5.1.18.jar的源代码并追踪代码,发现正确的信息应该是“声明参数与实际参数不匹配”或类似信息。确实正确地声明了我的输出参数。
相比之下
java.sql.SQLException: boo!
springframework.dao.TransientDataAccessResourceException: CallableStatementCallback; SQL [{call sp_MyStoredProc(?, ?, ?)}]; boo!
这并不是特别有意义的,有没有人遇到过这个问题,并且能够用更加通俗易懂的语言来解释呢?
我是通过org.springframework.jdbc.object.StoredProcedure
进行访问的。
我正在使用org.springframework.jdbc-3.1.3
@Update
问题出现在CallableStatetement.java文件中(2269-2271行)。
if (!found) {
throw SQLError.createSQLException("boo!", "S1000", this.connection.getExceptionInterceptor());`
}
附上mysql-connector-java-5.1.18.jar的源代码并追踪代码,发现正确的信息应该是“声明参数与实际参数不匹配”或类似信息。确实正确地声明了我的输出参数。
declareParameter(new SqlOutParameter("output", Types.INTEGER));
相比之下
declareParameter(new SqlParameter("output", Types.INTEGER));
问题得到了解决,但如果能有一个更有意义的错误提示信息,将会节省宝贵的时间。我将向MySql Connector/J开发团队提出这个建议。