springboot 配置druid 启动报错 java.sql.SQLSyntaxErrorException: ORA-00923: 未找到要求的 FROM 关键字

java.sql.SQLSyntaxErrorException: ORA-00923: 未找到要求的 FROM 关键字
ssm(Oracle)配置druid数据库连接池,正常启动项目,但是请求访问数据库时报错

“java.sql.SQLSyntaxErrorException: ORA-00923: 未找到要求的 FROM 关键字”

原因:

jdbc配置 validationQuery:SELECT 1

这是mysql的写法,oracle应改为 validationQuery:SELECT * from dual。

validationQuery是用来测试数据库连接的,根据具体的数据库类型来写

server.port=80
#spring.mvc.view.prefix=/
#spring.mvc.view.suffix=.html
server.servlet-path=/
#表示所有的访问都经过静态资源路径
spring.mvc.static-path-pattern=/**
#这里的配置是覆盖默认配置
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/
#spring.mvc.view.prefix=/WEB-INF/
#spring.mvc.view.suffix=.jsp


spring.datasource.initial-size=40
spring.datasource.max-wait=60000
spring.datasource.min-evictable-idle-time-millis=300000
spring.datasource.time-between-eviction-runs-millis=60000

# mybatis 配置
mybatis.type-aliases-package=com.ntschy.taizhou.entity
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.configuration.map-underscore-to-camel-case=true


#数据库连接

spring.datasource.druid.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
spring.datasource.druid.username=test
spring.datasource.druid.password=test
spring.datasource.druid.driverClassName=oracle.jdbc.driver.OracleDriver
#*************************************** druid连接池配置 *********************************************
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=5
spring.datasource.druid.maxActive=50
# 配置获取连接等待超时的时间(ms)
spring.datasource.druid.maxWait=60000
# 打开PSCache,并且指定每个连接上PSCache的大小
spring.datasource.druid.pool-prepared-statements=true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
#mysql sqlserver用
#spring.datasource.druid.validation-query=SELECT 1
#oracle 用
spring.datasource.druid.validation-query=SELECT * from dual
spring.datasource.druid.validation-query-timeout=60000
spring.datasource.druid.test-on-borrow=false
spring.datasource.druid.test-on-return=false
spring.datasource.druid.test-while-idle=true
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.druid.time-between-eviction-runs-millis=60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
spring.datasource.druid.min-evictable-idle-time-millis=100000
##*******************监控配置 begin***************************###
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'stat'用于sql监控,'wall'用于防火墙,'log4j2'监控我本地的日志对于数据库的连接。其'#状态监控'配置参照stat或wall的,可以不设,实际中我就没设
spring.datasource.druid.filters=stat,wall,log4j2
#状态监控(SQL监控 配置StatFilter)
spring.datasource.druid.filter.stat.db-type=sqlserver
spring.datasource.druid.filter.stat.enabled=true
spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=5000
#状态监控(防火墙 配置WallFilter)

#WallFilter得check未通过,delete删除不被允许
#解决方案:
#配置文件中修改如下地方
#spring.datasource.druid.filters=stat,wall,slf4j????? 删除掉wall
#spring.datasource.druid.filter.wall.enabled=true?? true设为false
spring.datasource.druid.filter.wall.db-type=sqlserver
#wall  enable改成true的时候   不能删除(删除语句提示delete not  allow)
spring.datasource.druid.filter.wall.enabled=false
spring.datasource.druid.filter.wall.config.delete-allow=false
spring.datasource.druid.filter.wall.config.drop-table-allow=false
#监控过滤器(配置_配置WebStatFilter)
spring.datasource.druid.web-stat-filter.enabled=true
spring.datasource.druid.web-stat-filter.url-pattern=/*
spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*
#druid监控页面
spring.datasource.druid.stat-view-servlet.enabled= true
spring.datasource.druid.stat-view-servlet.url-pattern= /druid/*
spring.datasource.druid.stat-view-servlet.reset-enable= false
#设置druid账户
spring.datasource.druid.stat-view-servlet.login-username= lyl
#设置druid密码
spring.datasource.druid.stat-view-servlet.login-password= lyl815616
#spring.datasource.druid.stat-view-servlet.allow= 127.0.0.1
##*******************监控配置 end*****************************###


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值