Lake's Blog Lake's Blog
首页
HCFrame
  • 博客搭建

    • 搜索引擎
    • SEO优化
    • 问题记录
  • Vue

    • 问题记录
  • uni-app
  • 开发

    • Spring
  • 数据库及中间件

    • Elasticsearch
    • SQL
  • 杂谈

    • 杂谈
  • 微服务

    • nacos
    • CAS
  • 算法说明

    • algorithm
  • leetCode

    • leetCode
  • 代理

    • Nginx
  • Linux

    • ubuntu
  • Docker
  • 数据库
  • 消息队列
  • openwrt
  • 友情链接
关于
  • 网站
  • 资源
  • 分类
  • 标签
  • 归档
GitHub

Lake Liu

很菜的程序员
首页
HCFrame
  • 博客搭建

    • 搜索引擎
    • SEO优化
    • 问题记录
  • Vue

    • 问题记录
  • uni-app
  • 开发

    • Spring
  • 数据库及中间件

    • Elasticsearch
    • SQL
  • 杂谈

    • 杂谈
  • 微服务

    • nacos
    • CAS
  • 算法说明

    • algorithm
  • leetCode

    • leetCode
  • 代理

    • Nginx
  • Linux

    • ubuntu
  • Docker
  • 数据库
  • 消息队列
  • openwrt
  • 友情链接
关于
  • 网站
  • 资源
  • 分类
  • 标签
  • 归档
GitHub
  • Spring

  • 数据库及中间件

    • Elasticsearch

    • SQL

      • win10环境下安装Sqlite3
      • merge sql error, dbType dm, sql
        • 一. 问题描述
        • 二. 问题解决
          • 1. 关闭mergeSQL功能
          • 2. 忽略该error虽然报error.但是语句是可以执行成功的,请自行校验
      • 聚簇索引和非聚簇索引
      • 一次搞定各种数据库 SQL 执行计划:MySQL、Oracle、SQL Server 等
      • mariadb全文索引
  • 杂谈

  • 微服务

merge sql error, dbType dm, sql

# merge sql error, dbType dm, sql

达梦数据库配合Druid报错及解决方案

# 一. 问题描述

编写代码进行测试的时候,控制台报出如下错误

2021-02-26 16:34:49.637 ERROR 21256 --- [nio-8080-exec-1] c.alibaba.druid.filter.stat.StatFilter   : merge sql error, dbType dm, sql : SELECT ... ASC LIMIT ? 
com.alibaba.druid.sql.parser.ParserException: syntax error, error in :' ASC LIMIT ? ',expect IDENTIFIER, actual IDENTIFIER LIMIT
	at com.alibaba.druid.sql.parser.SQLParser.printError(SQLParser.java:280) ~[druid-1.1.0.jar:1.1.0]
	at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:375) ~[druid-1.1.0.jar:1.1.0]
	at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:76) ~[druid-1.1.0.jar:1.1.0]
	at com.alibaba.druid.sql.visitor.ParameterizedOutputVisitorUtils.parameterize(ParameterizedOutputVisitorUtils.java:43) ~[druid-1.1.0.jar:1.1.0]
	at com.alibaba.druid.filter.stat.StatFilter.mergeSql(StatFilter.java:146) [druid-1.1.0.jar:1.1.0]
	at com.alibaba.druid.filter.stat.StatFilter.createSqlStat(StatFilter.java:634) [druid-1.1.0.jar:1.1.0]
	at com.alibaba.druid.filter.stat.StatFilter.statementPrepareAfter(StatFilter.java:310) [druid-1.1.0.jar:1.1.0]
1
2
3
4
5
6
7
8
9

原因是因为 druid 的 merge功能不支持达梦的 asc LIMIT ? 分页排序写法

# 二. 问题解决

# 1. 关闭mergeSQL功能

properties

#springboot
spring.datasource.druid.filter.stat.merge-sql=false
1
2

yml

#springboot
spring:
  datasource:
	druid: 
	  filter:
		stat:
		  merge-sql:false
1
2
3
4
5
6
7

# 2. 忽略该error虽然报error.但是语句是可以执行成功的,请自行校验

编辑
#达梦数据库#druid#SQL
上次更新: 2021/11/01, 08:56:26
win10环境下安装Sqlite3
聚簇索引和非聚簇索引

← win10环境下安装Sqlite3 聚簇索引和非聚簇索引→

最近更新
01
IDEA行号太宽
03-11
02
uniapp中实现h5扫码功能(微信版)
08-12
03
Docker安装Rabbitmq
07-22
更多文章>
本站总访问量次 | 您是本站第位访问者
Theme by Vdoing | Copyright © 2020-2024 Lake Liu | MIT License | 背景图、Logo、头像设计@Drrizzee
  • 跟随系统
  • 深色模式
  • 浅色模式
  • 阅读模式