우리는 회원가입을 하거나, 개인정보를 넣을때 항상 주소를 우편번호 검색을 통해 넣습니다. 저는 지금까지 우체국의 데이터베이스 서버를 이용해서 넣는게 아닌가 생각했었습니다. 솔직히 말하자면 관심도 없었습니다. 하지만 직접 구현하려고 해보니 만만치 않은 작업이였습니다. 잊어버리기 쉬운 작업이니 만큼 꼭 자료를 남겨야 겠다는 생각을 했습니다. 새 주소가 나온다고 하니 조만간 인터넷 업체들도 수정작업을 해야 되지 않을까 생각듭니다.
1.우편번호 다운로드
가장 먼저 해야할일은 바로 우편번호를 다운받는 것입니다. 우편번호를 다운받기 위해서 우정사업본부 홈페이지를 방문합니다. 홈페이지 우측에서 우편번호 안내를 누릅니다. 거기서 우편번호 다운로드를 누르면 됩니다. 찾아가기 귀찮으실 때에는 다음의 링크를 따라가면 바로 가실수 있습니다.
링크 따라가기
여기서 우정사업본부 고시 우편번호 DB (현재 사용되고 있는 전체 우편번호 DB임) 를 다운 받습니다. 다운로드를 받으면 EXE 파일이 하나 생기고 이것을 실행 시키면 C:\우편번호파일 이라는 폴더가 새로 생기게 됩니다.

2. 엑셀 파일을 csv파일로 변경
우리가 받은 엑셀파일은 알다시피 MS 오피스의 엑셀에서 컨트롤 하기 위한 파일입니다. 이것을 우리가 마음대로 컨트롤 하기 위해서 csv 파일로 변경을 해주어야 합니다. 이유인 즉 콤마(' , ')로 구분되어 있어 좀 더 쉽게 컨트롤이 가능하다는 장점이 있습니다.
20080827_우편번호(기존형태).xls 을 열어보면 다음과 같은 형태를 볼 수 있습니다.

이것을 바로 csv 파일로 저장해 두면 좋겠지만 한가지 작업을 더 해야 합니다. 바로 엑셀 파일에 있는 모든 콤마(' , ')를 다른 문자로 바꿔 주어야 합니다. 왜냐하면 나중에 오라클DB에 넣을때 콤마가 구분자가 되는데 쓸데없는 콤마가 추가되어 원치 않았던 결과가 들어갈수 있기 때문입니다.
엑셀 상단 도구모음의 편집에서 바꾸기를 선택하던지 Ctrl + H 를 눌러 바로 바꾸기 화면을 불러옵니다. 그리고 콤마를 주소에서는 쓰지 않을만한 단어로 다 바꾸어 줍니다. 저같은 경우에는 'java'로 바꾸어 주었습니다.


이것을 csv 파일로 바꿔서 저장해 줍니다. 다른 이름으로 저장을 누르면 csv파일로 쉽게 바꾸실수 있습니다.

바꿔준 파일을 열어 맨 위쪽의 컬럼명들을 삭제해 줍니다. 삭제하지 않으면 우편번호에 우편번호, 일련번호 들의 자료마저 들어가기 때문에 꼭 삭제를 해주어야 합니다.

맨 위의 드래그 되어 있는 부분을 삭제해 줍시다.

여기까지 따라왔으면 이제 오라클에 테이블을 만들어 주어야 합니다.
3.오라클 테이블 만들기
이제 지금까지 만든 csv 파일이 들어갈 오라클 테이블을 만들어 주어야 합니다. csv 파일이나 엑셀 파일을 통해 몇개의 컬럼으로 되어 있는지 알 수 있기 때문에 이것을 기준으로 다음과 같은 컬럼 후보를 구할 수 있습니다.
zipcode 컬럼 후보군
우편번호(zipcode), 일련번호(seqno), 시도(sido), 시군구(gungu), 읍면동(dong), 리(ri), 도서(doseo), 번지(bunji), 아파트/건물명(building), 변경일(mdate), 주소(addr)
이렇게 구해진 컬럼을 기준으로 SQL에 접속하여 테이블을 만들어 줍니다.
create table zipcode (
zipcode char(6),
seqno char(3),
sido varchar2(10),
gungu varchar2(20),
dong varchar2(50),
ri varchar2(50),
doseo varchar2(100),
bunji varchar2(50),
building varchar2(50),
mdate char(8),
addr varchar2(100)
);
이렇게 테이블명을 zipcode로 하고 주소의 세부 정보들을 저장할 공간을 만들어 주었습니다.
4. 컨트롤 파일 만들기
이제 csv 파일을 오라클 테이블에 넣어주어야 합니다. 하지만 그저 콤마로 구분되어진 csv파일로는 그냥 오라클에 넣어줄 수 없습니다. 따라서 컨트롤 파일을 만들어 각 콤마로 구분 되어진 파일을 넣을 수 있게 해줍니다. 각자 메모장으로 다음을 작성해 줍니다.
우편번호 파일 경로는 각자 자신의 경로를 넣어줍니다. 저같은 경우는 '20080827_우편번호.csv' 로 넣어 주었습니다.
5. 우편번호를 DB에 넣기
이제 명령 프롬프트(SQLPLUS 아님)에서 다음 명령을 수행합니다.
scott/tiger로 만드시는 분은 쉽게
C:\> sqlldr scott/tiger control=zipcode.ctl log=zipcode.log bad=zipcode.bad
로 실행시키면 됩니다. 저같은 경우에는 테이블을 scott 계정이 아닌 제가 만든 계정에 만들었기 때문에 사용자명은 beepurple 암호는 ****** 로 해놓았기 때문에 그것으로 실행 하였습니다.


이제 우편번호가 들어간 것을 볼 수 있습니다.
각자 SQLPLUS에 접속하여 확인을 해보면 잘 들어갔다는 것을 알 수 있습니다.
위 명령어를 통해 몇개가 들어가 있는지 알 수 있습니다. 저같은 경우에는 50324개가 들어가 있습니다.

6. 마무리
우리는 엑셀파일에서 ,로 되어 있는 부분을 전부 'java'로 바꾸워 주었던 것을 기억할 것입니다. 이제 java로 바꾼 것들을 다시 ,로 바꾸어 주면 됩니다.
select 문을 이용하여 java를 검색한뒤 그 부분을 update 문을 이용해 바꿔주면 끝나는 것입니다. 우리가 위에서 java로 바꿔어준 부분이 4군데 있었기 때문에 4개만 바꾸어 주면 자신만의 우편번호 데이타베이스가 완성 됩니다.
이제 회원가입이라던지 주소를 필요로 하는 웹페이지에서 얼마든지 사용할 수 있을 것입니다.
1.우편번호 다운로드
가장 먼저 해야할일은 바로 우편번호를 다운받는 것입니다. 우편번호를 다운받기 위해서 우정사업본부 홈페이지를 방문합니다. 홈페이지 우측에서 우편번호 안내를 누릅니다. 거기서 우편번호 다운로드를 누르면 됩니다. 찾아가기 귀찮으실 때에는 다음의 링크를 따라가면 바로 가실수 있습니다.
링크 따라가기
여기서 우정사업본부 고시 우편번호 DB (현재 사용되고 있는 전체 우편번호 DB임) 를 다운 받습니다. 다운로드를 받으면 EXE 파일이 하나 생기고 이것을 실행 시키면 C:\우편번호파일 이라는 폴더가 새로 생기게 됩니다.
2. 엑셀 파일을 csv파일로 변경
우리가 받은 엑셀파일은 알다시피 MS 오피스의 엑셀에서 컨트롤 하기 위한 파일입니다. 이것을 우리가 마음대로 컨트롤 하기 위해서 csv 파일로 변경을 해주어야 합니다. 이유인 즉 콤마(' , ')로 구분되어 있어 좀 더 쉽게 컨트롤이 가능하다는 장점이 있습니다.
20080827_우편번호(기존형태).xls 을 열어보면 다음과 같은 형태를 볼 수 있습니다.
이미지가 작기 때문에 클릭해서 크게 보시기 바랍니다.
이것을 바로 csv 파일로 저장해 두면 좋겠지만 한가지 작업을 더 해야 합니다. 바로 엑셀 파일에 있는 모든 콤마(' , ')를 다른 문자로 바꿔 주어야 합니다. 왜냐하면 나중에 오라클DB에 넣을때 콤마가 구분자가 되는데 쓸데없는 콤마가 추가되어 원치 않았던 결과가 들어갈수 있기 때문입니다.
엑셀 상단 도구모음의 편집에서 바꾸기를 선택하던지 Ctrl + H 를 눌러 바로 바꾸기 화면을 불러옵니다. 그리고 콤마를 주소에서는 쓰지 않을만한 단어로 다 바꾸어 줍니다. 저같은 경우에는 'java'로 바꾸어 주었습니다.
이것을 csv 파일로 바꿔서 저장해 줍니다. 다른 이름으로 저장을 누르면 csv파일로 쉽게 바꾸실수 있습니다.
바꿔준 파일을 열어 맨 위쪽의 컬럼명들을 삭제해 줍니다. 삭제하지 않으면 우편번호에 우편번호, 일련번호 들의 자료마저 들어가기 때문에 꼭 삭제를 해주어야 합니다.
맨 위의 드래그 되어 있는 부분을 삭제해 줍시다.
여기까지 따라왔으면 이제 오라클에 테이블을 만들어 주어야 합니다.
3.오라클 테이블 만들기
이제 지금까지 만든 csv 파일이 들어갈 오라클 테이블을 만들어 주어야 합니다. csv 파일이나 엑셀 파일을 통해 몇개의 컬럼으로 되어 있는지 알 수 있기 때문에 이것을 기준으로 다음과 같은 컬럼 후보를 구할 수 있습니다.
zipcode 컬럼 후보군
우편번호(zipcode), 일련번호(seqno), 시도(sido), 시군구(gungu), 읍면동(dong), 리(ri), 도서(doseo), 번지(bunji), 아파트/건물명(building), 변경일(mdate), 주소(addr)
이렇게 구해진 컬럼을 기준으로 SQL에 접속하여 테이블을 만들어 줍니다.
create table zipcode (
zipcode char(6),
seqno char(3),
sido varchar2(10),
gungu varchar2(20),
dong varchar2(50),
ri varchar2(50),
doseo varchar2(100),
bunji varchar2(50),
building varchar2(50),
mdate char(8),
addr varchar2(100)
);
이렇게 테이블명을 zipcode로 하고 주소의 세부 정보들을 저장할 공간을 만들어 주었습니다.
4. 컨트롤 파일 만들기
이제 csv 파일을 오라클 테이블에 넣어주어야 합니다. 하지만 그저 콤마로 구분되어진 csv파일로는 그냥 오라클에 넣어줄 수 없습니다. 따라서 컨트롤 파일을 만들어 각 콤마로 구분 되어진 파일을 넣을 수 있게 해줍니다. 각자 메모장으로 다음을 작성해 줍니다.
| zipcode.ctl |
| LOAD DATA INFILE '우편번호 파일 경로' INTO TABLE ZIPCODE FIELDS TERMINATED BY ',' ( zipcode, seqno, sido, gungu, dong, ri, doseo, bunji, building, mdate, addr ) |
우편번호 파일 경로는 각자 자신의 경로를 넣어줍니다. 저같은 경우는 '20080827_우편번호.csv' 로 넣어 주었습니다.
5. 우편번호를 DB에 넣기
이제 명령 프롬프트(SQLPLUS 아님)에서 다음 명령을 수행합니다.
sqlldr "사용자명"/"암호" control=zipcode.ctl log=zipcode.log bad=zipcode.bad
scott/tiger로 만드시는 분은 쉽게
C:\> sqlldr scott/tiger control=zipcode.ctl log=zipcode.log bad=zipcode.bad
로 실행시키면 됩니다. 저같은 경우에는 테이블을 scott 계정이 아닌 제가 만든 계정에 만들었기 때문에 사용자명은 beepurple 암호는 ****** 로 해놓았기 때문에 그것으로 실행 하였습니다.
이제 우편번호가 들어간 것을 볼 수 있습니다.
각자 SQLPLUS에 접속하여 확인을 해보면 잘 들어갔다는 것을 알 수 있습니다.
SQL> select count(*) from zipcode;
위 명령어를 통해 몇개가 들어가 있는지 알 수 있습니다. 저같은 경우에는 50324개가 들어가 있습니다.
6. 마무리
select 문을 이용하여 java를 검색한뒤 그 부분을 update 문을 이용해 바꿔주면 끝나는 것입니다. 우리가 위에서 java로 바꿔어준 부분이 4군데 있었기 때문에 4개만 바꾸어 주면 자신만의 우편번호 데이타베이스가 완성 됩니다.
이제 회원가입이라던지 주소를 필요로 하는 웹페이지에서 얼마든지 사용할 수 있을 것입니다.
'Oracle & JSP & JDBC' 카테고리의 다른 글
| 페이지 분할 기능 (0) | 2008/11/19 |
|---|---|
| Apache Tomcat 설치 (0) | 2008/11/06 |
| 오라클 우편번호 데이터베이스 만드는 법 (2) | 2008/10/29 |
| 오라클 사용자 명령어 (0) | 2008/10/28 |
| JDBC 프로그래밍 방법 (0) | 2008/10/28 |
| 오라클 JDBC 드라이버 설치 및 테스트 (0) | 2008/10/28 |

Prev
Rss Feed