๐ŸŒณ DB/๐Ÿ Oracle

[ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…] ORA-00923: FROM keyword not found where expected

[ํ˜„์ƒ]

์•„๋ž˜ ์—๋Ÿฌ๋‚ด์šฉ๊ณผ ๊ฐ™์ด FROM ํ‚ค์›Œ๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๊ณ  ํ•œ๋‹ค.

Caused by: java.sql.SQLException: ORA-00923: FROM keyword not found where expected

 

[ํ˜„์ƒ ๋ฐœ์ƒ ์ด์œ ]

์›นํ”„๋กœ์ ํŠธ๋ฅผ ๊ธฐ๋™ ์‹œ JDBC ์ •๋ณด๋ฅผ ๋ณด๊ณ  validation ์ฒดํฌ๋ฅผ ํ•˜๊ฒŒ๋˜๋Š”๋ฐ ์˜คํƒ€ ๋˜๋Š” ๊ฐ DB์— ๋งž์ง€์•Š๋Š” ์ฟผ๋ฆฌ ํ˜•์‹์ด ์ž…๋ ฅ๋œ ๊ฒฝ์šฐ ๋ฐœ์ƒํ•จ.

 

[์กฐ์น˜]

Mysql์˜ ๊ฒฝ์šฐ

<valdate>

    <validationQuery>SELECT 1</validationQuery>

    ....

</validate>

 

Oracle์˜ ๊ฒฝ์šฐ

<valdate>

    <validationQuery>SELECT 1 FROM DUAL</validationQuery>

    ....

</validate>

 

Oracle์€ Validation ์ฟผ๋ฆฌ ์ˆ˜ํ–‰ ์‹œ ํ…Œ์ด๋ธ”์„ ์ด์šฉํ•ด ์ฒดํฌ๋ฅผ ํ•˜๊ฒŒ๋œ๋‹ค.

๋‹น์—ฐํžˆ ํ…Œ์ด๋ธ” ๋ช…์„ ์ ์–ด์ค˜์•ผ ํ•˜๋Š”๋ฐ Oracle์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ํ…Œ์ด๋ธ”์ด ์กด์žฌํ•ด DUAL์ด๋ผ๋Š” ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•œ๋‹ค.

DUAL์€ ์‚ฌ์šฉ์ž๊ฐ€ ์–ป๊ณ ์žํ•˜๋Š” ๊ฒฐ๊ณผ ๊ฐ’์„ DUAL์ด๋ผ๋Š” ํ…Œ์ด๋ธ”์„ ์ด์šฉํ•ด ์กฐํšŒํ•˜๊ธฐ๋„ ํ•œ๋‹ค.