SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase, Ha
前言
- mysql 5.7
- ssm
前两天遇到了这个异常,记录一下:
[INFO][2019-10-06 02:03:39,268][org.springframework.beans.factory.xml.XmlBeanDefinitionReader]Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]
[INFO][2019-10-06 02:03:39,296][org.springframework.jdbc.support.SQLErrorCodesFactory]SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase, Hana]
分析
- Log级别是INFO
- 未输出明确的错误原因
- 仅可以确定是sql错误,但无法确定是哪个sql错误。
解决办法
对代码添加try…catch,捕获错误并输出。获得的输出像这样:
[INFO][2019-10-06 02:03:39,268][org.springframework.beans.factory.xml.XmlBeanDefinitionReader]Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]
[INFO][2019-10-06 02:03:39,296][org.springframework.jdbc.support.SQLErrorCodesFactory]SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase, Hana]
[ERROR][2019-10-06 02:03:39,316][ec.web.listener.StartupManage]error
org.springframework.jdbc.BadSqlGrammarException:
### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'exchange.app.typename' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
### The error may exist in URL [jar:file:/D:/ExchangeDeploy/apache-tomcat-8.5.29-9020/webapps/manage/WEB-INF/lib/exchange_app-1.0-SNAPSHOT.jar!/ec/web/app/mapper/AppConfigMapper.xml]
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: SELECT typekey,typename FROM app_config AS app GROUP BY app.typekey
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'exchange.app.typename' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'exchange.app.typename' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_byat org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:91)at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:74)at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:421)at com.sun.proxy.$Proxy40.selectList(Unknown Source)at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:206)at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:122)at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:64)at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:53)at com.sun.proxy.$Proxy135.findKey(Unknown Source)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)at net.bull.javamelody.MonitoringSpringInterceptor.invoke(MonitoringSpringInterceptor.java:73)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)at com.sun.proxy.$Proxy136.findKey(Unknown Source)at ec.web.app.service.impl.AppConfigServiceImpl.initCache(AppConfigServiceImpl.java:91)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)
如果无法修改代码添加try…catch,那么只能猜了。将可能有问题的sql,放到mysql客户端里执行一下看看是否有语法错误。
嗯,添加try…catch是个好习惯啊。
SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase, Ha相关推荐
- oledb连接mysql_OLEDB 连接 和 效率(MS SQL 、Oracle 、ACESS)
这半年手头的一个项目,自己写代码的时候偏爱 MS SQL.部署服务器装的是 ORALCE 和 实际的现场是小型机,压根没有装数据库只好选用 ACESS ,三种环境不一致,才决定用 OLEDB 做数据库 ...
- MS SQL 模仿ORACLE的DESC
前言: 在ORACLE数据库的SQL*PLUS里面有个DES(DESCRIBE)命令,它可以返回数据库所存储对象的描述,如下所示 SQL> DESC STUDENT_SCORE Name Typ ...
- Oracle 9i与MS SQL Server 2000之比较连载五.zz
http://kb.cnblogs.com/a/1153156 Oracle 9i与MS SQL Server 2000之比较连载五 2008-04-14 18:13 四.Oracle中新的数据库对象 ...
- 解决Action: Consider the following: If you want an embedded database (H2, HSQL or Derby), ple..
问题 springboot异常Action: Consider the following: If you want an embedded database (H2, HSQL or Derby), ...
- Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the
在配置sharding-jdbc中 spring.shardingsphere.datasource.names=ds0,ds1spring.shardingsphere.datasource.ds0 ...
- bug---springboot报错Consider the following: If you want an embedded database (H2, HSQL
错误描述 Action: Consider the following: If you want an embedded database (H2, HSQL or Derby), please pu ...
- mysql longtext db2_从 MySQL 或 PostgreSQL 迁移到 DB2 Express-C
从 MySQL 或 PostgreSQL 迁移到 DB2 Express-C 用三个简单步骤迁移到 DB2 Vikram Khatri, Nora Sokolof, 和 Manas Dadarkar ...
- JDBC常用连接写法(包括MySQL、Oracle、Sybase、SQLServer、DB2)
本文引用自CKJ-CLARK<JDBC常用连接写法(包括MySQL.Oracle.Sybase.SQLServer.DB2)> http://apps.hi.baidu.com/share ...
- MS SQL 的入门学习
SQL 语言入门教程 第一课简介 SQL 是英文Structured Query Language 的缩写,意思为结构化查询语言. SQL 语言的主要功能就是同各种数据库建立联系,进行沟通.按照ANS ...
最新文章
- leetcode-26. Remove Duplicates from Sorted Array
- 计算机的图形用户界面,2017计算机等级考试知识点:认识图形用户界面
- python填写excel-python——向Excel读取或写入数据
- 淘宝文件系统文件映射原理及实现
- NLP之CRF分词训练(六)
- 字符串查找字符出现次数_查找字符串作为子序列出现的次数
- JDK源码系列(2)-Object类
- mongodb 添加用户及权限设置详解
- 局域网摄像头扫描_使用Pyhton带你分析酒店里的针孔摄像头
- wmsys.wm_concat的几个用法
- js代码跳转页面时的路径问题
- 音乐和计算机跨界融合,音乐类综艺跨界融合有了新思路
- IT创业光技术好,谋略定位不好,你很可能会死得很惨,丢钱、丢客户、丢成果、丢商机、丢思路
- 点连通度与边连通度的求解
- Android Gradle Plugins系列-02-Maven Publish 插件踩坑指南
- [矩阵论]欧氏空间的线性变换是正交变换的充要条件是,它对于标准正交基的矩阵是正交矩阵
- vue-router路由防卫
- 暴雪这次可真不要脸。。。
- one 主格 复数 宾格_人称代词的主格和宾格
- Rust实战系列-基本语法
热门文章
- 分析:“AI on Hadoop”有意义吗?
- unix时间戳(unix timestamp)与北京时间的互转方法
- android 上传文件用php程序在服务端接受(一)
- Linux与Windows数据传输
- 分享:When.js 2.0.0 发布,Promises/A 的实现
- Windows server 2003域下全局组、本地域组及通用组之间的关系详解
- ASP.NET中进行消息处理(MSMQ) 三
- MVC 3.0 Html.ActionLink
- thinkphp5带条件分页
- 安装 Go 第三方包 go-sqlite3