๋ฆฌ๋ˆ…์Šค์—์„œ Unix ODBC๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์ž

๋ฐ˜์‘ํ˜•

์•ˆ๋…•ํ•˜์„ธ์š”. 2018๋…„์˜ ์—ฐ๋ง์ด ๋‹ค๊ฐ€์™”์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ 2018๋…„์˜ ๋งˆ์ง€๋ง‰ ํฌ์ŠคํŠธ๋กœ ์šฐ๋ถ„ํˆฌ์—์„œ Unix ODBC๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


What is ODBC?

Unix ODBC๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์ „์—, ODBC๊ฐ€ ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ODBC๋Š” Open DataBase Connectivity์˜ ์•ฝ์ž๋กœ ์šฐ๋ฆฌ ๋ง๋กœ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฏธ๋“ค์›จ์–ด๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๊ณต๊ฐœํ˜• ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ธํ„ฐํŽ˜์ด์Šค๋ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•œ๋งˆ๋””๋กœ ๋งํ•˜์ž๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ๊ณต๊ฐœํ˜• ์ธํ„ฐํŽ˜์ด์Šค๋ผ๋Š” ๊ฒƒ์ด์ฃ .

ODBC๋Š” Microsoft์—์„œ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์‰ฝ๊ฒŒ ์—ฐ๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐœ๋ฐœํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธํ„ฐํŽ˜์ด์Šค(API)์ž…๋‹ˆ๋‹ค. ๋ณธ๋ž˜ ์šฐ๋ฆฌ๊ฐ€ ์ƒˆ๋กœ์šด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ด์šฉํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์–ด๋– ํ•œ ์—ฐ๊ฒฐ์ฒด์ด๋“ ์ง€ ์†Œ์ผ“(Socket)์„ ์ง์ ‘ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ผ์ด์–ธํŠธ ํด๋ž˜์Šค ํ˜น์€ ๋ชจ๋“ˆ์„ ๋ณ„๋„๋กœ ๊ฐœ๋ฐœํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ODBC๋Š” ์ด๋Ÿฌํ•œ ๊ฐœ๋ฐœ์„ ๋ณ„๋„๋กœ ๊ตฌ์„ฑํ•˜์ง€ ์•Š๊ณ  ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฏธ๋“ค์›จ์–ด๊ฐ€ ์ด๋Ÿฌํ•œ API๋ฅผ ํ‘œ์ค€์œผ๋กœ ์ฑ„ํƒํ•˜์—ฌ ๋ชจ๋“  DBMS๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ๋ณธ๋ž˜ ODBC๊ฐ€ ๋‚˜์˜ค๊ธฐ ์ด์ „์—๋Š” ์–ด๋–ป๊ฒŒ DBMS์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์„๊นŒ์š”?

์œ„์—์„œ ๋งํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์ง์ ‘ C ํ˜น์€ C++์™€ ๊ฐ™์€ ๋กœ์šฐ ๋ ˆ๋ฒจ ์–ธ์–ด์—์„œ TCP Socket ๋“ฑ์„ ์ด์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์ฒด๋ฅผ ๊ตฌํ˜„ํ•˜๊ฑฐ๋‚˜ ํ˜น์€ MySQL์ด๋ฉด ํ•ด๋‹น ๊ฐœ๋ฐœ์ž๋“ค์ด ์ œ๊ณตํ•ด์ฃผ๋Š” ํŠน์ • API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ด ๋ฐฉ๋ฒ•์€ Microsoft SQL Server์ด๋ฉด MS-SQL API, Oracle์ด๋ฉด Oracle ์šฉ API๊ฐ€ ๋ณ„๋„๋กœ ์กด์žฌํ•˜๊ฒ ์ง€์š”. ํ•˜์ง€๋งŒ ์ด ๋ฐฉ๋ฒ•์€ ๊ฐ๊ฐ์˜ DBMS ๋ณ„๋กœ ๋ณ„๋„์˜ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ๋ฒ•์„ ๊ฐœ๋ณ„์ ์œผ๋กœ ์ตํ˜€์•ผ ํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ODBC๋Š” ํ‘œ์ค€ API์ด๊ณ  ๋ชจ๋‘๊ฐ€ ๊ฐ™์€ ํ•จ์ˆ˜์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ์—ฐ๊ฒฐ ํ˜•ํƒœ๋งŒ ๋‹ฌ๋ฆฌ ์ฃผ์–ด์ง„ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ์ž ์ž…์žฅ์—์„œ ์ข€ ๋” ํŽธํ•˜๊ฒŒ DBMS์™€ ์—ฐ๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์„ ์ œ๊ณตํ•ด์ค๋‹ˆ๋‹ค.

๊ทธ์— ๋ฐ˜ํ•ด ๋‹จ์ ๋„ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ODBC๋Š” ์ง์ ‘ API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์†๋„๊ฐ€ ๋Š๋ฆฝ๋‹ˆ๋‹ค. ์™œ ๊ทธ๋Ÿด๊นŒ์š”? ๊ทธ๊ฒƒ์€ ์ง์ ‘ ์ œ๊ณตํ•ด์ฃผ๋Š” API๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ด์ „์— ๋“œ๋ผ์ด๋ฒ„ ๋‹จ๊ณ„๋ฅผ ํ•œ ๋‹จ๊ณ„ ๋” ๊ฑฐ์น˜๊ธฐ ๋•Œ๋ฌธ์ด์ฃ . ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๊ทธ๋งŒํผ์˜ ํŽธ์˜์„ฑ์„ ์ œ๊ณตํ•ด์ฃผ์ง€๋งŒ ์—ฐ๊ฒฐ์— ์žˆ์–ด์„œ๋Š” ๊ทธ๋งŒํผ์˜ ์†๋„ ๋ฌธ์ œ๋„ ๊ฐ์ˆ˜ํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ODBC๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ๊ฐ„๋‹จํžˆ ์‚ดํŽด๋ณด๋ฉด, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ค‘๊ฐ„์— ์ธํ„ฐํŽ˜์ด์Šค ํ˜•ํƒœ๋กœ ์กด์žฌํ•˜๋Š” ๋ ˆ์ด์–ด๋ฅผ ๊ฑฐ์ณ ๊ฐ๊ฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋ ค ํ•˜๋Š” DBMS ๋“œ๋ผ์ด๋ฒ„(API)๋ฅผ ํ˜ธ์ถœํ–ˆ์„ ๋•Œ ํ•ด๋‹น ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘์†ํ•˜๋Š” ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 

์ด๋Š” ์ง์ ‘ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ Socket์„ ์ƒ์„ฑํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ๋ ˆ์ด์–ด๋ฅผ ๊ฑฐ์น˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋Š๋ฆด ์ˆ˜ ๋ฐ–์— ์—†์Šต๋‹ˆ๋‹ค. ODBC๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‘ ๊ฐœ์˜ ๋ ˆ์ด์–ด๋ฅผ ๊ฑฐ์ณ์•ผํ•˜๊ธฐ ๋–„๋ฌธ์ด์ฃ .


Unix ODBC

์•ž์„œ ๋งํ–ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ ODBC๋Š” Microsoft์—์„œ ๊ฐœ๋ฐœํ•œ ํ†ตํ•ฉ DBMS API ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ NIX ๊ณ„์—ด ์šด์˜์ฒด์ œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐœ๋ฐœํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ Unix ODBC์ž…๋‹ˆ๋‹ค. Unix ODBC๋Š” ODBC์˜ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ ์ค‘ ํ•˜๋‚˜๋กœ Microsoft ODBC๋ฅผ ๋น„ Windows ์šด์˜์ฒด์ œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ตœ์ข… ํ‘œ์ค€์œผ๋กœ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ž…๋‹ˆ๋‹ค.

Unix ODBC

์šฐ๋ฆฌ๋Š” ์ด์ œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌ๋ˆ…์Šค ์šด์˜์ฒด์ œ์—์„œ ODBC ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์‹ค์Šตํ•ด๋ณด๊ณ , (๋Œ€ํ‘œ์ ์œผ๋กœ ์šฐ๋ถ„ํˆฌ ๋ฆฌ๋ˆ…์Šค๋ฅผ ์‚ฌ์šฉ) ํ…Œ์ŠคํŠธ ํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


How to install

๋จผ์ € unixodbc๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์šด์˜์ฒด์ œ์— unixodbc ๋ชจ๋“ˆ์„ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

$ sudo apt install unixodbc unixodbc-dev

Ubuntu๋Š” ๋ ˆํฌ์ง€ํ„ฐ๋ฆฌ์—์„œ ์‰ฝ๊ฒŒ unixodbc๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜น์€ ๋‹ค๋ฅธ ๋ฆฌ๋ˆ…์Šค์—์„œ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ๋ ˆํฌ์ง€ํ„ฐ๋ฆฌ๊ฐ€ ์•„๋‹Œ ์ง์ ‘ ๋นŒ๋“œํ•˜์—ฌ ์„ค์น˜ํ•˜๊ณ  ์‹ถ์œผ์‹  ๋ถ„๋“ค์€ ์•„๋ž˜์˜ ์ ˆ์ฐจ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

$ wget http://www.unixodbc.org/unixODBC-2.3.7.tar.gz

unixodbc ํ”„๋กœ์ ํŠธ ํ™ˆํŽ˜์ด์ง€์—์„œ ์ˆ˜๋™์œผ๋กœ unixODBC ์ฝ”๋“œ๋ฅผ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์Šต๋‹ˆ๋‹ค.

$ tar xvf unixODBC-2.3.7.tar.gz

tar ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ tar.gz ํŒŒ์ผ์˜ ์••์ถ•์„ ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค.

$ sudo ./configure --prefix=/

์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์€ ์—ฌ๋Ÿฌ๋ถ„๋“ค PC์— unixODBC ๋ชจ๋“ˆ์„ ์–ด๋””์— ์„ค์น˜ํ• ์ง€ ์„ค์ •ํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค. ์šฐ๋ถ„ํˆฌ์—์„œ ๋ ˆํฌ์ง€ํ„ฐ๋ฆฌ์— ์žˆ๋Š” ๊ฒƒ์„ ๋ฐ›์•„ ์„ค์น˜ํ•  ๊ฒฝ์šฐ ์œ„์˜ ๊ฐ’์ด ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์ง์ ‘ ๋‹ค๋ฅธ ๊ณณ์— ์„ค์น˜ํ•˜๋ ค๋ฉด ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋ฅผ ์žก์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค ๊ถŒํ•œ ๋“ฑ์„ ๊ณ ๋ คํ•˜์‹œ์–ด ์•Œ๋งž์€ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

$ make

Configuration์ด ์ •์ƒ์ ์œผ๋กœ ์™„๋ฃŒ๋˜์—ˆ์œผ๋ฉด ์ด์ œ ์ปดํŒŒ์ผ์„ ์‹œ๋„ํžˆ์—ฌ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์ด ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์‚ฌ์šฉํ•˜๊ฒŒ ๋  unixODBC ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค. 

$ make install

๋งˆ์ง€๋ง‰์œผ๋กœ ์ปดํŒŒ์ผ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์„ ์œ„์—์„œ ์ง€์ •ํ•œ prefix path์— ์„ค์น˜ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž‘์—…๊นŒ์ง€ ๋งˆ์น˜๋ฉด ๋ฌด์‚ฌํžˆ unixODBC ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค.


How to use

์ด์ œ ์„ค์น˜๊ฐ€ ๋ชจ๋‘ ๋๋‚ฌ์œผ๋‹ˆ DBMS์— ์—ฐ๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ „์— unixODBC์˜ ๊ตฌ์„ฑ์ด ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ฃ .

* odbcinst.ini

* odbc.ini

unixODBC์—์„œ DBMS๋ฅผ ์—ฐ๋™ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์œ„์˜ ๋‘ ๊ฐœ์˜ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ๊ฑด๋“œ๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ํŒŒ์ผ์ด ๋ฌด์Šจ ์—ญํ• ์„ ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 

odbcinst.ini ํŒŒ์ผ์€ ํ•ด๋‹น ์šด์˜์ฒด์ œ์—์„œ ์‚ฌ์šฉํ•  DBMS์˜ ODBC ๋“œ๋ผ์ด๋ฒ„ ์ •๋ณด๋ฅผ ๋ณด๊ด€ํ•ด ๋†“๋Š” ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผํ…Œ๋ฉด PostgreSQL์„ ์—ฐ๋™ํ•˜๊ธฐ ์œ„ํ•ด์„œ PostgreSQL ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ด ODBC ๋“œ๋ผ์ด๋ฒ„์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด์ฃ . ์œ„์—์„œ ์„ค๋ช…๋“œ๋ฆฐ ๊ฒƒ์„ ๋ฒ ์ด์Šค๋กœ ๋ง์”€๋“œ๋ฆฌ์ž๋ฉด PostgreSQL์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” API ์œ„์น˜๋ฅผ ์ ์–ด๋†“๋Š” ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.

PostgreSQL์—์„œ๋Š” ๋‘ ๊ฐ€์ง€์˜ ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๊ฐœ๋Š” ANSI ์ธ์ฝ”๋”ฉ ํ™˜๊ฒฝ(CP949 ๋“ฑ์˜ Windows)๊ณผ ์œ ๋‹ˆ์ฝ”๋“œ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ๋“œ๋ผ์ด๋ฒ„๋กœ ๋‚˜๋‰˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ๋งŒ์•ฝ ์œˆ๋„์šฐ ํ™˜๊ฒฝ์˜ PostgreSQL์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ์ฝ”๋”ฉ์ด CP949 or EUC-KR์ด๋ผ๋ฉด ANSI์šฉ ๋“œ๋ผ์ด๋ฒ„๋ฅผ UTF-8์ด๋ผ๋ฉด ์œ ๋‹ˆ์ฝ”๋“œ์šฉ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

$ odbcinst -q -d

๋งˆ์ง€๋ง‰์œผ๋กœ odbcinst.ini ํŒŒ์ผ์„ ๋‹ค์‹œ ๋ฆฌ๋กœ๋“œํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ODBC ๋“œ๋ผ์ด๋ฒ„ ๋“ฑ๋ก์ด ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

odbc.ini ํŒŒ์ผ์€ odbcinst.ini ํŒŒ์ผ์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ์กด์žฌํ•˜๋Š” ๋“œ๋ผ์ด๋ฒ„๋ฅผ ํ† ๋Œ€๋กœ ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์‚ฌ์šฉํ•  DBMS ์„œ๋ฒ„, ์œ ์ € ์ •๋ณด ๋“ฑ์„ ๊ธฐ๋กํ•˜๋Š” ๊ตฌ์„ฑ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ์†Œ์Šค ์ฝ”๋“œ์— ์ง์ ‘ DB ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด ์„œ๋ฒ„ ์ •๋ณด ์œ ์ถœ์˜ ์œ„ํ—˜์„ฑ์ด ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์‹ค์ƒ ์šด์˜์ฒด์ œ์— ๋ณ„๋„๋กœ ์‚ฌ์šฉํ•  DB ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ด์ฃผ๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

์ด ์™ธ์—๋„ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์˜ต์…˜๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์˜ต์…˜๋“ค์— ๋Œ€ํ•ด์„œ๋Š” ๊ฐ ODBC ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” DBMS ํ™ˆํŽ˜์ด์ง€์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 
username๊ณผ password๋ฅผ ๊ณต๋ž€์œผ๋กœ ํ•˜์‹ค ๊ฒฝ์šฐ, ํ”„๋กœ๊ทธ๋žจ ์†Œ์Šค ์ฝ”๋“œ์— ์ง์ ‘ ์ž…๋ ฅํ•˜์—ฌ์•ผ ํ•˜๋ฉฐ, ๊ทธ๋ ‡์ง€ ์•Š๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๋ฉด, odbc.ini ํŒŒ์ผ์— ์ง์ ‘ ์ž…๋ ฅํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.


Test

์ด์ œ DBMS์™€ ์ž˜ ์—ฐ๊ฒฐ๋˜๋Š”์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์ง„ํ–‰์„ ์œ„ํ•ด์„œ unixODBC์—์„œ ์ œ๊ณตํ•˜๋Š” isql ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

$ isql NKPOST

์œ„์— ์˜ˆ์‹œ์— ์žˆ๋Š” DSN ์ด๋ฆ„์„ ๊ทธ๋Œ€๋กœ ์ž‘์„ฑํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ Username๊ณผ Password๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

$ isql NKPOST [username] [password]

ํŒจ์Šค์›Œ๋“œ๊ฐ€ !, @ ๋“ฑ์˜ ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์„ ๊ฒฝ์šฐ '(quote)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌถ์–ด์ฃผ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

์ ‘์†์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜๋ฉด ์œ„์˜ ํ™”๋ฉด์ฒ˜๋Ÿผ Connected ! ๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉฐ SQL ์ฟผ๋ฆฌ๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ด์ค๋‹ˆ๋‹ค.


๋งˆ์น˜๋ฉฐ...

์—ฌ๊ธฐ๊นŒ์ง€ NIX ๊ณ„์—ด ์šด์˜์ฒด์ œ์—์„œ ODBC ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ ์–ด๋ดค์Šต๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ ์ž‘์„ฑํ•˜๊ณ  ์„ค์ •ํ•ด๋†“์œผ๋ฉด ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ ๋„ ์žˆ๊ณ , ๋ฌด์—‡๋ณด๋‹ค ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ๋ณ„๋„๋กœ ์žก์•„์ค˜์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์€ ํ ์ด์ง€๋งŒ ๋ฏธ๋ฆฌ ์žก์•„๋†“๊ณ  ODBC ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋งŒ ์ ์ ˆํžˆ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์—ฌ๋Ÿฌ DBMS์— ์‰ฝ๊ฒŒ ์—ฐ๊ฒฐํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋น„์Šทํ•œ ๊ฒฝ์šฐ๋กœ Java์—์„œ ์ œ๊ณตํ•˜๋Š” JDBC๋‚˜ Perl์—์„œ ์ œ๊ณตํ•˜๋Š” DBI๋กœ ๋ดค์„ ๋•Œ ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ JDBC์˜ ๊ฒฝ์šฐ JVM ๋ผ์ธ์ด ์กด์žฌํ•˜์—ฌ์•ผ ํ•œ๋‹ค๋Š” ์ ์—์„œ ODBC ์ธํ„ฐํŽ˜์ด์Šค ๋ ˆ์ด์–ด๋ฅผ ๊ฑฐ์นœ๋‹ค๋Š” ๊ฒƒ์—๋Š” ๋ณ€ํ•จ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์‹ค์ƒ ์†๋„ ๋ฉด์—์„œ๋Š” ์–ด๋–จ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ JDBC๋Š” ์‚ฌ์šฉ ๋ผ์ธ์ด JVM์ด๊ณ  ODBC๊ฐ€ C ๊ณ„์—ด์˜ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๊ฐ์•ˆํ•œ๋‹ค๋ฉด ODBC๊ฐ€ ์ข€ ๋” ๋น ๋ฅธ ์ชฝ์— ์†ํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์„ ์ง€๋„ ๋ฏ€๋ฅด๊ฒ ๋„ค์š”.


[์ฐธ๊ณ ] ODBC ๊ตฌ์กฐ ์ด๋ฏธ์ง€ (http://www.tech-faq.com/odbc.html)

๋ฐ˜์‘ํ˜•
TAGS.

Tistory Comments