๐Ÿ‘จโ€๐Ÿ’ป Seungineer's GitHub Contribution

๐Ÿ› ๏ธ Tool/BE 3

[Oracle] ORA-12154: TNS: ์ง€์ •๋œ ์ ‘์† ์‹๋ณ„์ž๋ฅผ ๋ถ„์„ํ•  ์ˆ˜ ์—†์Œ (#DBLink #tns admin ์ฃผ์†Œ ์žฌ์ง€์ • # ์žฌ๊ตฌ๋™)

VMWare ๊ฐ€์ƒ ๋จธ์‹ (Oracle Linux 8.5(Redhat) 64bit)์˜ Oracle 19c R2 DBMS์—์„œ Oracle Cloud Data Center์˜ DBMS์— Link ๊ณผ์ • ์ค‘ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ๋ฅผ ๋””๋ฒ„๊น…ํ•œ ๊ณผ์ •์ด๋‹ค.๊ฒฐ๋ก tns admin ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ oracle cloud wallet์ด ์••์ถ• ํ•ด์ œ๋œ ํด๋” directory๋กœ ์„ค์ • ํ›„ ๊ฐ€์ƒ ๋จธ์‹  ์žฌ๋ถ€ํŒ…์ด ํ•„์š”ํ•˜๋‹ค. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • ํ›„ ํ”„๋กœ๊ทธ๋žจ ์žฌ๋ถ€ํŒ…์ด ํ•„์š”ํ•œ ๊ฒƒ๊ณผ ์œ ์‚ฌํ•˜๋‹ค.๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ tns admin ํ™˜๊ฒฝ ๋ณ€์ˆ˜ default ์ฃผ์†Œ์ธ $ORACLE_HOME/network/admin์— oracle cloud wallet์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ํ•„์š” ํŒŒ์ผ(tnsnames.ora, sqlnet.ora)์„ ์œ„์น˜์‹œํ‚ค๋Š” ๊ฒƒ์ด๋‹ค.์—๋ŸฌORA-12154 ์—๋Ÿฌ์ฝ”๋“œ๋Š” ..

[DB] Embedded SQL๊ณผ Interactive SQL

Embedded SQL์€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด๋ถ€์— SQL ๋ฌธ์žฅ์„ ์ž„๋ฒ ๋”ฉํ•˜์—ฌ DB์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.Interactive SQL์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ํ„ฐ๋ฏธ๋„์ด๋‚˜ ์ฝ˜์†”์—์„œ SQL ๋ฌธ์žฅ์„ ์ž…๋ ฅํ•˜์—ฌ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.Embedded SQL์€ ํ˜ธ์ŠคํŠธ ์–ธ์–ด ์†Œ์Šค ์ฝ”๋“œ์— SQL์„ ์ง์ ‘ ์‚ฝ์ž…ํ•˜์—ฌ ์ปดํŒŒ์ผ ์‹œ์ ์— ์ฒ˜๋ฆฌ๋˜๋Š” ๋ฐฉ์‹์ด๋ฉฐ, Java์˜ JDBC๋Š” Embedded SQL์ด ์•„๋‹ˆ๋ผ SQL์„ ๋Ÿฐํƒ€์ž„์— API๋ฅผ ํ†ตํ•ด ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. # ์ฃผ์š” ์ฐจ์ด์ ## 1. ํ˜ธ์ŠคํŠธ ์–ธ์–ด ๋ณ€์ˆ˜ ์‚ฌ์šฉEmbedded SQL์€ C, Java์™€ ๊ฐ™์€ ํ˜ธ์ŠคํŠธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋‚ด์—์„œ ๋ณ€์ˆ˜๋ฅผ SQL ๊ตฌ๋ฌธ์˜ ์ผ๋ถ€๋ถ„์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.Interactive SQL์€ ์‚ฌ์šฉ์ž ์ž…๋ ฅ๊ณผ ์ƒ์ˆ˜๊ฐ’๋งŒ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜ธ์ŠคํŠธ ์–ธ์–ด ๋ณ€์ˆ˜ ๊ฐœ๋…์ด ์—†๋‹ค.int empId = 1001;S..

[MySQL] Nullable field์—์„œ NOT IN ๊ตฌ๋ฌธ ์‚ฌ์šฉ ์‹œ ์œ ์˜ํ•  ์ (#3์ค‘๋…ผ๋ฆฌ #NOT EXISTS)

๊ฒฐ๋ก Nullable field์— NULL ๊ฐ’์ด ํ•˜๋‚˜๋ผ๋„ ํฌํ•จ๋˜๋Š” ๊ฒฝ์šฐ, WHERE 'A' NOT IN (nullable field)์˜ ๊ฒฝ์šฐ ํ•ญ์ƒ false๋กœ ํ‰๊ฐ€๋œ๋‹ค. ์ด์— Nullable field์—์„œ 'A'๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•ด ์กฐ๊ฑด์„ ๊ฑธ๊ณ ์ž ํ•˜๋Š” ๊ฒฝ์šฐ WHERE NOT EXISTS (nullable field์— NULL์„ ์ œ์™ธํ•œ 'A'์ธ ๊ฒฝ์šฐ์˜ ์„œ๋ธŒ ์ฟผ๋ฆฌ)์˜ ํ˜•ํƒœ๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค. ์„œ๋ธŒ์ฟผ๋ฆฌ์—๋Š” 'A'๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์„ ์‹œ ์•„๋ฌด ๊ฒƒ๋„ ์กด์žฌํ•˜์ง€ ์•Š๊ฒŒ ๋˜๊ณ , NOT EXISTS()๋Š” true๊ฐ€ ๋œ๋‹ค. 3์ค‘ ๋…ผ๋ฆฌMySQL์˜ 3์ค‘ ๋…ผ๋ฆฌ์— ์˜ํ•ด์„œ 'True', 'False', 'Unknown' ์ค‘ ํ•˜๋‚˜๋กœ ๋…ผ๋ฆฌ๊ฐ€ ๊ฒฐ์ •๋œ๋‹ค. ๊ฐ€๋ น WHERE 'A' IN ('A', NULL, 'B') ๋ผ๊ณ  ํ•˜๋ฉด, ์„œ๋ธŒ์ฟผ๋ฆฌ์— ..