为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:WIN7
【CPU】:
【问题描述】*:项目启动时连接达梦数据库失败,报错信息:Caused by: java.lang.IllegalStateException: dbType not support : dm, url jdbc:dm://localhost:5236/kvf_admin_3neng
at com.alibaba.druid.wall.WallFilter.init(WallFilter.java:192)
at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:830)
at com.baomidou.dynamic.datasource.creator.DruidDataSourceCreator.createDataSource(DruidDataSourceCreator.java:122)
at com.baomidou.dynamic.datasource.creator.DefaultDataSourceCreator.createDataSource(DefaultDataSourceCreator.java:64)
at com.baomidou.dynamic.datasource.creator.DefaultDataSourceCreator.createDataSource(DefaultDataSourceCreator.java:49)
at com.baomidou.dynamic.datasource.provider.AbstractDataSourceProvider.createDataSourceMap(AbstractDataSourceProvider.java:45)
at com.baomidou.dynamic.datasource.provider.YmlDynamicDataSourceProvider.loadDataSources(YmlDynamicDataSourceProvider.java:43)
at com.baomidou.dynamic.datasource.DynamicRoutingDataSource.afterPropertiesSet(DynamicRoutingDataSource.java:243)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1855)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1792)
我使用的是动态数据源配置,配置如下:
datasource:
dynamic:
primary: master #设置默认的数据源或者数据源组,默认值即为master
strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候会抛出异常,不启动则使用默认数据源.
datasource:
master: # 主数据源
url: jdbc:dm://localhost:5236/kvf_admin_3neng
driver-class-name: com.dameng.driver.DmDriver
username: SYSDBA
password: SYSDBA
# druid数据源配置
name: druidDataSource
type: com.alibaba.druid.pool.DruidDataSource
druid:
filters: stat,slf4j
max-active: 100
initial-size: 1
max-wait: 60000
min-idle: 1
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
validation-query: select 'x'
test-while-idle: true
test-on-borrow: false
test-on-return: false
pool-prepared-statements: true
max-open-prepared-statements: 50
max-pool-prepared-statement-per-connection-size: 20
web-stat-filter:
# 添加过滤规则
url-pattern: /*
# 忽略过滤格式
exclusions: ".js,.gif,.jpg,.png,.css,.ico,/druid/*"
stat-view-servlet:
# 设置ip白名单
allow: 127.0.0.1
# 设置ip黑名单,优先级高于白名单
deny:
# 设置控制台管理用户
# login-username: root
# login-password: root
# 是否可以重置数据
reset-enable: false
# 开启druid监控页面
enabled: false
在druid的fliters中已经排除了wall,但是调试的时候发现还是跑进了WallFilter的init方法中,并报错。使用的druid及mybatis-plus版本如下
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.3.1</version>
</dependency>
这个得把驱动里面得方言包加进去才行。
尝试依次去掉filters: stat,slf4j,wall