由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Java版 - 京东平台一问
相关主题
Re: 怎样才支持JDBC2.0?请问JSP/SERVLET和MYSQL如何实现照片上载和调用
Re: Entity EJB: anyone with real experienceRe: 想起几年前Re: run servlet from command li
Quick jdbc question, help needed, thx!JDBC如何获取新加入的记录的索引
MySQL JDBC 问题Java调用Oracle存储过程的问题
巨量数据读取问题求助用jdbc从oracle pull out的row data怎么分页显示
Question about Tomcat如何动态改变log4j的log level啊
发现weblogic 8.1 workshop一个bug关于Exception,Catch
How to connect to SQL2000?How to get all tables in a schema in Oracle 9i using its JDBC driver?
相关话题的讨论汇总
话题: sql话题: warnings话题: show话题: forbidden
进入Java版参与讨论
1 (共1页)
b***i
发帖数: 3043
1
建了一个简单的sping mvc,然后MySql数据库也开通了
结果,出现这个错误。是说不能select * from user? 这个可能是哪里的错误?
HTTP Status 500 - Request processing failed; nested exception is org.
springframework.jdbc.UncategorizedSQLException: StatementCallback;
uncategorized SQLException for SQL [select * from user]; SQL state [HY000];
error code [3013]; Forbidden command : SHOW WARNINGS; nested exception is
java.sql.SQLException: Forbidden command : SHOW WARNINGS
b***i
发帖数: 3043
2
直接使用ResultSet rs= ps.executeQuery();可以看到结果,所以数据库本身没有问题
但是,如果userList = jdbcTemplate.query(sql, new UserRowMapper()); //99
则如下错误:
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:413)
org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:468)
org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:478)
com.beingjavaguys.dao.UserDaoImpl.getUserList(UserDaoImpl.java:99)
这个错误是在jdbcTemplate.execute(StatementCallback action)那里抛的

;

【在 b***i 的大作中提到】
: 建了一个简单的sping mvc,然后MySql数据库也开通了
: 结果,出现这个错误。是说不能select * from user? 这个可能是哪里的错误?
: HTTP Status 500 - Request processing failed; nested exception is org.
: springframework.jdbc.UncategorizedSQLException: StatementCallback;
: uncategorized SQLException for SQL [select * from user]; SQL state [HY000];
: error code [3013]; Forbidden command : SHOW WARNINGS; nested exception is
: java.sql.SQLException: Forbidden command : SHOW WARNINGS

d****i
发帖数: 4809
3
What is your 'sql' string in the argument? What is your UserRowMapper class?
I think it may be related to your UserRowMapper implementation.

413)

【在 b***i 的大作中提到】
: 直接使用ResultSet rs= ps.executeQuery();可以看到结果,所以数据库本身没有问题
: 但是,如果userList = jdbcTemplate.query(sql, new UserRowMapper()); //99
: 则如下错误:
: org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:413)
: org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:468)
: org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:478)
: com.beingjavaguys.dao.UserDaoImpl.getUserList(UserDaoImpl.java:99)
: 这个错误是在jdbcTemplate.execute(StatementCallback action)那里抛的
:
: ;

b***i
发帖数: 3043
4
最后发现,handleWarnings(stmt);
原来京东不支持这个show warnings这个语句,所以默认的Logger会读取warning,然后
导致问题

413)

【在 b***i 的大作中提到】
: 直接使用ResultSet rs= ps.executeQuery();可以看到结果,所以数据库本身没有问题
: 但是,如果userList = jdbcTemplate.query(sql, new UserRowMapper()); //99
: 则如下错误:
: org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:413)
: org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:468)
: org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:478)
: com.beingjavaguys.dao.UserDaoImpl.getUserList(UserDaoImpl.java:99)
: 这个错误是在jdbcTemplate.execute(StatementCallback action)那里抛的
:
: ;

b***i
发帖数: 3043
5
结果最后出错的语句就是SHOW WARNINGS,还以为是要告诉我什么warning呢
最后自己继承了JdbcTemplate,然后干脆不读warning。这样,我还可以全局记录别的
warning。不过还是不很清楚京东如何记录log。

class?

【在 d****i 的大作中提到】
: What is your 'sql' string in the argument? What is your UserRowMapper class?
: I think it may be related to your UserRowMapper implementation.
:
: 413)

d****i
发帖数: 4809
6
I think it's better not to subclass from JdbcTemplate but use it as a member
in your DAO class. The handleWarning() method is meant for lib developers
only since it's protected. So you shouldn't use it for catch warning. Any DB
error will be caught by DataAccessException anyway, so no worry.

【在 b***i 的大作中提到】
: 结果最后出错的语句就是SHOW WARNINGS,还以为是要告诉我什么warning呢
: 最后自己继承了JdbcTemplate,然后干脆不读warning。这样,我还可以全局记录别的
: warning。不过还是不很清楚京东如何记录log。
:
: class?

b***i
发帖数: 3043
7
这个handlewarning是在所有execteQuery里面都有的,所以会自动执行,然后导致错误。

member
DB

【在 d****i 的大作中提到】
: I think it's better not to subclass from JdbcTemplate but use it as a member
: in your DAO class. The handleWarning() method is meant for lib developers
: only since it's protected. So you shouldn't use it for catch warning. Any DB
: error will be caught by DataAccessException anyway, so no worry.

d****i
发帖数: 4809
8
没看过execute的源码,但是queryForxxx的所有方法都是throw DataAccessException,
所以handlewarning那个方法应该不是给应用开发者用的

误。

【在 b***i 的大作中提到】
: 这个handlewarning是在所有execteQuery里面都有的,所以会自动执行,然后导致错误。
:
: member
: DB

b***i
发帖数: 3043
9
handlewarning是在spring自动被呼叫的,而京东禁止get warnings,所以sql语句执行
完就出错,导致无法继续。

DataAccessException,

【在 d****i 的大作中提到】
: 没看过execute的源码,但是queryForxxx的所有方法都是throw DataAccessException,
: 所以handlewarning那个方法应该不是给应用开发者用的
:
: 误。

1 (共1页)
进入Java版参与讨论
相关主题
How to get all tables in a schema in Oracle 9i using its JDBC driver?巨量数据读取问题求助
关于java执行SQL之后的内存问题?Question about Tomcat
问个java logger的问题发现weblogic 8.1 workshop一个bug
Java笔试题分享-DatabaseHow to connect to SQL2000?
Re: 怎样才支持JDBC2.0?请问JSP/SERVLET和MYSQL如何实现照片上载和调用
Re: Entity EJB: anyone with real experienceRe: 想起几年前Re: run servlet from command li
Quick jdbc question, help needed, thx!JDBC如何获取新加入的记录的索引
MySQL JDBC 问题Java调用Oracle存储过程的问题
相关话题的讨论汇总
话题: sql话题: warnings话题: show话题: forbidden