SELECT 1 FROM DUAL ,未找到要求的 FROM 关键字
Posted 364.99°
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SELECT 1 FROM DUAL ,未找到要求的 FROM 关键字相关的知识,希望对你有一定的参考价值。
1. 解决方案
背景描述: 项目需要将mysql数据库换成Oracle数据库,配置好数据源后,启动报错:
解决方案:
- application.yml 中修改(配置了多数据源):
spring:
datasource:
dynamic:
druid:
validationQuery: SELECT 1 FROM DUAL
-
application.yml 中修改(没配置多数据源):
spring: datasource: validationQuery: SELECT 1 FROM DUAL
2. DUAL
DUAL: 一张虚拟表,输出一条记录。
-
从 DUAL 中输出一个常量 1
SELECT 1 FROM DUAL
- 对于 Oracle ,
select
必须有表名,所以不能省略from dual
- 对于 MySQL,
select
可以省略表名
- 对于 Oracle ,
-
在 application.yml 中,通过此配置用来检测数据库是否有效
spring: datasource: validationQuery: SELECT 1 FROM DUAL
-
一些案例:
# 检查数据库是否在线——1—在线 SELECT 1 FROM DUAL # 查看当前用户——用户名@主机ip SELECT USER() FROM DUAL; # 查看当前时间 SELECT SYSDATE() FROM DUAL;
以上是关于SELECT 1 FROM DUAL ,未找到要求的 FROM 关键字的主要内容,如果未能解决你的问题,请参考以下文章
在插入多行时,语句“select 1 from dual”的作用是啥?
java.sql.SQLSyntaxErrorException: ORA-00923: 未找到要求的 FROM 关键字
oracle+mybatis报“未找到要求的from关键字”错误?
将'select from dual'作为参数传递给java可调用语句
ORA-00904 在 DATE 列上使用“MERGE INTO”和“SELECT FROM dual”时出现“无效标识符”错误