DBDBDEEP

프로젝트 도중 신규우편번호 5자리를 ORACLE DB에 넣어달라는 요청을 받았다.

요청 내용은 간단하였으나 작업하려니 막상 막막하였다.

 

그래서 우체국 홈페이지(http://www.epost.go.kr)에 방문해보니

아래와같이 신규우편번호를 다운로드 할수 있었다.

혹은, http://www.epost.go.kr/search/zipcode/areacdAddressDown.jsp를 참고하자.

형식은 txt이며 해당 파일을 다운로드후 oracle db에 import하면된다.

 

%우체국홈페이지 

 아래 그림을 참조하여 신규 우편번호를 다운받아보자!

 

 

파일형식은 txt파일이며 DB에 업로드 하는 방법은 여러가지가 있지만

본인은 그냥 가장 쉬운 orange툴을 이용하였습니다.

orange 실행뒤 상단 메뉴에 Tools - Loader 를 실행시킨뒤 아래와같이 설정을하면됩니다.

Table 부분 Schema 부분에 해당테이블의 owner 설정

그아래는 신규우편번호가 들어갈 table명 설정

separatar 부분 구분자에는 | (\위에있는특문) 으로 기재하여준뒤 Run을 눌러주면됩니다.

%에러발생시 원인을 찾아보되 필자의 경우는 대부분 vchar(숫자) 부분을 늘려주어 해결하였으며

수정후 단 한건의 에러도 발생하지 않았습니다.

하지만  무려 6148808건 이므로 시간은 꽤 걸렸습니다.(이틀이상소요되었음)

(컬럼은 영어로 하였으며 한글코멘트추가로 개발하시는 분들이 알수있게 명기함)

 

*테이블생성

create table owner.NEW_POST
(
  NEW_POST_CODE          NUMBER(30),
  SIDO_KOR               VARCHAR2(200),
  SIDO_ENG               VARCHAR2(30),
  SIGUNGU_KOR            VARCHAR2(30),
  SIGUNGU_ENG            VARCHAR2(30),
  UPMYON_KOR             VARCHAR2(30),
  UPMYON_ENG             VARCHAR2(200),
  DORO_NUMBER            NUMBER(30),
  DORO_KOR               VARCHAR2(100),
  DORO_ENG               VARCHAR2(200),
  UNDOR_FLAG             NUMBER(30),
  BUILDING_ORIGIN_NUMBER NUMBER(30),
  BUILDING_REFER_NUMBER  NUMBER(30),
  BUILDING_MANAGE_NUMBER NUMBER(30),
  MULTI_DELIVER_NAME     VARCHAR2(30),
  SIGUGU_BULIDING_NAME   VARCHAR2(200),
  LAW_DONG_NUMBER        NUMBER(30),
  LAW_DONG_NAME          VARCHAR2(30),
  RI_NAME                VARCHAR2(30),
  ADMIN_DONG_NAME        VARCHAR2(30),
  SAN_FLAG               NUMBER(30),
  JIBEON_BONBEON         NUMBER(30),
  UPMYONDONG_SEQ         NUMBER(30),
  JIBEON_BUBEON          NUMBER(30),
  OLD_POST_CODE          VARCHAR2(30),
  POST_CODE_SEQ          VARCHAR2(30)
)

 

아래는 orange 캡쳐화면입니다. 참고하시기 바랍니다.

 

 

 

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band